ea56db9510893fc70ff43ef885681ad3107b5565
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * docs/gst/gstreamer-sections.txt:
4         Add gst_buffer_(is|make)_metadata_writable methods.
5
6 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
7
8         * docs/design/part-sparsestreams.txt:
9         Update sparse streams doc, hopefully for greater clarity
10
11 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
12
13         * docs/design/part-events.txt:
14         Remove mention of FILLER events.
15         Add DRAIN event.
16
17         * docs/design/part-sparsestreams.txt:
18         Write some things about using NEWSEGMENT to keep sparse streams
19         flowing.
20
21 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * gst/gstbin.c: (gst_bin_dispose):
24           Guard gst_object_unref call against a NULL object (dispose
25           can theoretically be called multiple times).
26           
27 2006-01-18  Wim Taymans  <wim@fluendo.com>
28
29         * gst/gstbin.c: (gst_bin_element_set_state):
30         * gst/gstclock.c: (gst_clock_id_wait):
31         Added some more debug info.
32
33         * libs/gst/base/gstadapter.c:
34         Added more docs.
35
36         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
37         (gst_base_sink_do_sync), (gst_base_sink_chain):
38         Added some comments.
39
40 2006-01-18  Wim Taymans  <wim@fluendo.com>
41
42         * tests/check/Makefile.am:
43         * tests/check/elements/fakesink.c: (chain_async_buffer),
44         (chain_async), (chain_async_return), (GST_START_TEST),
45         (fakesink_suite), (main):
46         Added fakesink test that checks prerolling and clipping
47         behaviour.
48
49         * tests/check/gst/gstutils.c: (GST_START_TEST):
50         Make check run faster so that buildbots don't timeout.
51
52 2006-01-18  Wim Taymans  <wim@fluendo.com>
53
54         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
55         (gst_base_sink_do_sync):
56         Some cleanups.
57         When the sink finishes blocking on the preroll buffer, it can
58         immediatly render it instead of rendering when the next buffer
59         arrives.
60
61 2006-01-18  Wim Taymans  <wim@fluendo.com>
62
63         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
64         (gst_base_sink_get_property), (gst_base_sink_do_sync),
65         (gst_base_sink_chain):
66         Small cleanups.
67         GST_ELEMENT_CLOCK and sync are protected with LOCK.
68         Don't store _last_stop if the buffer is dropped.
69
70 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
71
72         * plugins/elements/gsttypefindelement.c:
73         (gst_type_find_element_class_init):
74           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
75           object method handler that sets the caps on the pad and we want
76           that to happen before we emit the signal (fixes e.g. feeding a
77           plain text file to decodebin).
78
79 2006-01-18  Christian Schaller  <Christian@fluendo.com>
80
81         * gst/gstplugin.c: Add MPL and Proprietary as license options
82
83 2006-01-18  Andy Wingo  <wingo@pobox.com>
84
85         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
86         symbol was exported before, it appears this was just an oversight.
87         Fixes #168703.
88         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
89
90         * gst/gstindex.c (gst_index_add_associationv): Changed int in
91         prototype to gint. OK since this prototype was not in the header.
92
93 2006-01-17  Andy Wingo  <wingo@pobox.com>
94
95         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
96         registry while we remove plugins.
97
98         * tools/gst-inspect.c (print_element_info): Don't unref the
99         factory arg, that should be the responsibility of whatever code
100         received the ref. Fixes a double-free when called from
101         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
102         (main): Unref the factory if we have one.
103         (print_element_list): No change -- relies on the
104         plugin_feature_list_free to free the list of features.
105
106 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
107
108         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
109         (gst_buffer_make_metadata_writable):
110         * gst/gstbuffer.h:
111         * libs/gst/base/gstbasetransform.c:
112         (gst_base_transform_prepare_output_buf):
113         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
114         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
115           Replace gst_buffer_(make|is)_metadata_writable patch now
116           that the release is out.
117
118 2006-01-17  Andy Wingo  <wingo@pobox.com>
119
120         * gst/gstregistry.c: Reflow design comment. Update so as to speak
121         in the present tense without reference to versions.
122
123         * gst/gstregistry.c (gst_registry_add_plugin)
124         (gst_registry_remove_plugin, gst_registry_remove_feature)
125         (gst_registry_find_feature, gst_registry_get_feature_list)
126         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
127         (gst_registry_lookup, gst_registry_scan_path)
128         (_gst_registry_remove_cache_plugins)
129         (gst_registry_get_feature_list_by_plugin): Add argument
130         validation.
131
132 === release 0.10.2 ===
133
134 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
135
136         * configure.ac:
137           releasing 0.10.2, "If man is five"
138
139 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
140
141         * gst/gstbuffer.c:
142         * gst/gstbuffer.h:
143         * libs/gst/base/gstbasetransform.c:
144         (gst_base_transform_prepare_output_buf):
145         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
146         * tests/check/gst/gstbuffer.c: (gst_test_suite):
147           Back out patch until after the release.
148
149 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
150
151         * gst/gstminiobject.c:
152           Spelling fix in docs.
153         * ChangeLog - remove conflict indicator
154
155 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
156
157         Reviewed By: Andy Wingo
158
159         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
160         (gst_buffer_make_metadata_writable):
161         * gst/gstbuffer.h:
162           Add gst_buffer_(is|make)_metadata_writable as analogues of
163           gst_buffer_(is|make)_writable.
164
165         * libs/gst/base/gstbasetransform.c:
166         (gst_base_transform_prepare_output_buf):
167         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
168           Use name gst_buffer_(is|make)_metadata_writable functions.
169
170         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
171           Test gst_buffer_(is|make)_metadata_writable
172         
173           (Closes: #324162)
174
175 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
176
177         * docs/manual/Makefile.am:
178           don't do parallel make
179         * configure.ac:
180           AC_SUBST HOST_CPU
181         * win32/common/config.h.in:
182           add generations for HOST_CPU and GST_MAJORMINOR
183         * win32/common/config.h:
184           commit generated result
185
186 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
187
188         * docs/manual/appendix-integration.xml:
189           Update GNOME integration section to use gst_init_get_option_group()
190           instead of the old popt stuff (#322911). Also, GNOME applications
191           should  now use gconf*sink and gconf*src instead of the old gconf
192           helper lib we had.
193
194 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
195
196
197         * docs/gst/gstreamer-docs.sgml:
198         * docs/gst/gstreamer-sections.txt:
199         * docs/libs/gstreamer-libs-sections.txt:
200           add new API entries to the docs
201         * libs/gst/controller/Makefile.am:
202         * libs/gst/controller/gstcontroller.c:
203         * libs/gst/controller/gstcontroller.h:
204         * libs/gst/controller/gstcontrollerprivate.h:
205         * libs/gst/controller/gsthelper.c:
206         * libs/gst/controller/gstinterpolation.c:
207           move private structs to private header
208         * po/README:
209           gstreamer-0.7 -> gstreamer-0.10
210         * tests/check/libs/struct_i386.h:
211           remove private structs
212
213 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
214
215         * plugins/indexers/Makefile.am:
216           Fixes as part of #317048
217
218 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
219
220         * plugins/indexers/Makefile.am:
221           fix #316086 - compilation when mmap is missing
222
223 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
224
225         * libs/gst/base/gstbasesink.c:
226           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
227           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
228         * win32/common/config.h:
229           added some defines GST_MAJORMINOR and HOST_CPU
230         * win32/common/libgstbase.def:
231         * win32/common/libgstreamer.def:
232           added some exported functions.
233
234 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
235
236         * libs/gst/controller/gstcontroller.c:
237         (gst_controlled_property_set_interpolation_mode),
238         (gst_controlled_property_new):
239         * libs/gst/controller/gstcontroller.h:
240         * libs/gst/controller/gstinterpolation.c:
241         (interpolate_none_get_string_value_array):
242           make G_TYPE_STRING controlable
243
244 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
245
246         * tools/README:
247         * tools/gst-feedback.1.in:
248         * tools/gst-inspect.1.in:
249         * tools/gst-launch.1.in:
250         * tools/gst-md5sum.1.in:
251         * tools/gst-typefind.1.in:
252         * tools/gst-xmlinspect.1.in:
253         * tools/gst-xmllaunch.1.in:
254           cleanup man-pages, remove reference to gst-register, document env-vars
255
256 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
257
258         * gst/gstbuffer.c: (gst_buffer_span):
259           gst_buffer_span should copy the timestamp of the first buffer
260           if they were both originally overlapping subbuffers of the 
261           same parent, using the same logic as the 'slow copy' case.
262
263 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
264
265         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
266           Need to awaken ALL the pads when we pop a buffer, otherwise
267           collectpads only works when there is 2 input streams.
268
269 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
270
271         * docs/random/ensonic/media-device-daemon.txt:
272           more ideas (dbus)
273         * gst/gstbuffer.c:
274           fix doc example, add clarification
275         * tools/gst-launch.1.in:
276           add initial info about GST_PLUGIN_PATH, needs more work
277
278 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
279
280         * docs/manual/basics-bins.xml:
281         * docs/manual/basics-elements.xml:
282         * docs/manual/intro-basics.xml:
283           Some more minor docs additions and updates.
284
285 2006-01-11  Wim Taymans  <wim@fluendo.com>
286
287         * docs/manual/basics-bins.xml:
288         * docs/manual/basics-elements.xml:
289         Some small fixes as pointed out by Ser-ver on IRC.
290
291 2006-01-10  Edward Hervey  <edward@fluendo.com>
292
293         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
294         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
295         the single-segment mode.
296
297 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
298
299         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
300
301         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
302         (gst_base_src_perform_seek), (gst_base_src_send_event),
303         (gst_base_src_set_property), (gst_base_src_get_property),
304         (gst_base_src_loop), (gst_base_src_start),
305         (gst_base_src_activate_push):
306         * libs/gst/base/gstbasesrc.h:
307           Name (private) union; makes Sun's Forte compiler happy (#324900).
308
309 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
310
311         * README:
312           gst-register is gone.
313
314 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
315
316         * gst/gstvalue.c: (_gst_value_initialize):
317           make the G_TYPE_DATE instantiation work if debug is disabled
318
319 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
320
321         * gst/gstmessage.c: (gst_message_parse_tag),
322         (gst_message_parse_error), (gst_message_parse_warning):
323           Don't crash when return location for error/warning debug
324           string is NULL; add fact that return locations can be
325           NULL to docs where appropriate.
326
327 2006-01-05  Wim Taymans  <wim@fluendo.com>
328
329         * gst/gstplugin.c: (gst_plugin_load_file):
330         Replace strdup by g_strdup.
331
332 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         * docs/pwg/advanced-types.xml:
335           fix doc borkage
336
337 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
338
339         submitted by: Abel Cheung
340
341         * po/LINGUAS:
342         * po/zh_TW.po:
343           Added Chinese (traditional) translation
344
345 2006-01-04  Wim Taymans  <wim@fluendo.com>
346
347         * docs/manual/basics-pads.xml:
348         * docs/plugins/Makefile.am:
349         * docs/plugins/gstreamer-plugins-docs.sgml:
350         * docs/plugins/gstreamer-plugins-sections.txt:
351         * docs/pwg/advanced-clock.xml:
352         * docs/pwg/advanced-scheduling.xml:
353         * docs/pwg/advanced-types.xml:
354         * plugins/elements/gstfdsink.c:
355         * plugins/elements/gstfdsrc.c:
356         * plugins/elements/gstfdsrc.h:
357         * plugins/elements/gstidentity.c: (gst_identity_class_init):
358         * plugins/elements/gstidentity.h:
359         * plugins/elements/gstqueue.h:
360         * plugins/elements/gsttee.c:
361         * plugins/elements/gsttee.h:
362         * plugins/elements/gsttypefindelement.c:
363         (gst_type_find_element_class_init):
364         * plugins/elements/gsttypefindelement.h:
365         Small updates to various docs.
366         Added core plugins to docs.
367
368 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
369
370         * common/gst.supp:
371           add a suppression for liboil's uninitialized variable
372
373 2006-01-02  James Livingston  <jrl at ids dot org dot au>
374
375         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
376
377         * gst/gstutils.h:
378           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
379           macro, so that gcc doesn't complain if the -Wmissing-prototypes
380           compiler switch is being used (#325429).
381
382 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
383
384         * gst/gstbin.c: (gst_bin_query):
385           Disable duration query caching in bins until it gets
386           fixed (see #324807).
387
388 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
389
390         * tools/gst-inspect.c: (print_element_properties_info):
391           Handle properties of POINTER and BOXED type.
392
393 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
394
395         * gst/gst.c: (init_post):
396           Init tags stuff and some other things before loading
397           any static plugins (there may be other static plugins
398           than just the GStreamer ones, and they may want to
399           register their own tags or formats or whatever, and
400           preferably without segfaulting).
401
402         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
403           Print at least a warning in the debug logs if we drop a
404           query just because we don't know how to adjust the value
405           in the particular format.
406
407 2005-12-24  David Schleef  <ds@schleef.org>
408
409         * tools/gstreamer-completion:
410           Replacement for gst-complete written in sh and sed.  Only
411           completes names of features, but that's 90% of what I want
412           it for.  Properties are not available in registry.xml.  (Maybe
413           they should be...)
414
415 === release 0.10.1 ===
416
417 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
418
419         * configure.ac:
420           releasing 0.10.1, "Nollaig chridheil"
421
422 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
423
424         * docs/faq/cvs.xml:
425           Add missing quote, should be make ERROR_CFLAGS="".
426
427 2005-12-20  Wim Taymans  <wim@fluendo.com>
428
429         * docs/design/part-trickmodes.txt:
430         More documentation on trickmodes.
431
432 2005-12-20  Edward Hervey  <edward@fluendo.com>
433
434         * gst/gstcaps.c: (gst_static_caps_get_type):
435         * gst/gstcaps.h:
436           API addition: GST_TYPE_STATIC_CAPS
437         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
438         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
439         * gst/gstpadtemplate.h:
440           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
441         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
442         bindings.
443
444 2005-12-18  Wim Taymans  <wim@fluendo.com>
445
446         * libs/gst/base/gstadapter.c:
447         * libs/gst/base/gstadapter.h:
448         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
449         (gst_base_sink_get_position):
450         * libs/gst/base/gstbasesink.h:
451         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
452         (gst_base_src_default_query), (gst_base_src_default_do_seek),
453         (gst_base_src_do_seek), (gst_base_src_perform_seek),
454         (gst_base_src_send_event), (gst_base_src_update_length),
455         (gst_base_src_get_range), (gst_base_src_loop),
456         (gst_base_src_start):
457         * libs/gst/base/gstbasesrc.h:
458         * libs/gst/base/gstbasetransform.h:
459         * libs/gst/base/gstcollectpads.h:
460         * libs/gst/base/gstpushsrc.c:
461         * libs/gst/base/gstpushsrc.h:
462         * libs/gst/dataprotocol/dataprotocol.c:
463         * libs/gst/dataprotocol/dataprotocol.h:
464         * libs/gst/net/gstnetclientclock.h:
465         * libs/gst/net/gstnettimeprovider.h:
466         Documentation updates.
467
468 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
469
470         * docs/manual/basics-helloworld.xml:
471           Remove superfluous closing bracket in helloworld example.
472
473 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
474
475         * tools/gst-launch.1.in:
476           Update gst-launch man page; add a section with useful
477           environment variables. Fixes #323882.
478
479 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
480
481         * gst/gst.c:
482         * gst/gst_private.h:
483           change some char* into char[]
484
485 2005-12-16  Wim Taymans  <wim@fluendo.com>
486
487         * gst/gstregistryxml.c: (load_feature):
488         Cleanups.
489         Don't use g_object_unref on GstObjects so that we avoid
490         leaks on unsafe glibs.
491
492 2005-12-16  Wim Taymans  <wim@fluendo.com>
493
494         * gst/gstbin.c: (gst_bin_recalc_state):
495         Small doc updates.
496
497 2005-12-16  Wim Taymans  <wim@fluendo.com>
498
499         * common/check.mak:
500         Added make forever target for check.
501
502 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
503
504         * gst/gst.c: (init_post):
505           make the registry cache file HOST_CPU-dependent
506
507 2005-12-16  Andy Wingo  <wingo@pobox.com>
508
509         * plugins/elements/gstbufferstore.c
510         (gst_buffer_store_cleared_func): Pay attention to g_list_append
511         return value.
512
513         * tests/check/gst/gstobject.c
514         (test_fake_object_name_threaded_unique): Pay attention to
515         g_list_sort return value.
516
517 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
518
519         * tools/gst-feedback-m.m:
520           Update for 0.9/0.10 (fixes #323870).
521
522 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
523
524         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
525           Fix lcopy for mini objects, the mini object needs to be ref'ed.
526           
527         * tests/check/gst/gstminiobject.c: (my_foo_init),
528         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
529         (test_value_collection), (gst_mini_object_suite):
530           Add test to ensure refcounts end up as expected when passing
531           GstMiniObjects through g_object_get() and g_object_set().
532
533 2005-12-14  Julien MOUTTE  <julien@moutte.net>
534
535         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
536         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
537         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
538         of collectpads. This version removes a lot of races without
539         touching API/ABI. Yay !
540
541 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
542
543         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
544           Don't allow activation of a srcpad in pull_range if it has no
545           getrange function.
546           Change some debug statements to be a little clearer
547
548         * plugins/elements/gsttypefindelement.c:
549         (gst_type_find_handle_src_query):
550           Check that we have a peer before executing queries thereupon.
551
552         * tests/examples/metadata/read-metadata.c: (message_loop):
553           Use gst_bus_pop instead of gst_bus_poll when we just want it to
554           immediately return us any available message with 0 timeout.
555
556 2005-12-12  Michael Smith  <msmith@fluendo.com>
557
558         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
559           Don't unref factories after calling them.
560         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
561         * plugins/elements/gsttypefindelement.c:
562         (gst_type_find_element_chain):
563           Free lists of factories after using them. Fixing typefinding memory
564           leaks.
565
566 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
567
568         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
569         (gst_plugin_feature_load):
570           more meaningful debug output
571         * configure.ac:
572         * tests/Makefile.am:
573         * tests/old/examples/Makefile.am:
574           make make distcheck happy again
575
576 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
577
578         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
579           Catch the special case where we are operating chain-based,
580           but the downstream peer pad has no chain function. Emit a
581           custom error message in this case instead of letting the
582           core generate one implying that this is some sort of core
583           bug. It's not, it just means that whatever got plugged
584           into the pipeline downstream when we announced the type
585           can only operate pull-based, while our source can only
586           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
587           Error string has not been marked for translation yet, as
588           it probably needs some more work first.
589
590         (gst_type_find_element_get_best_possibility):
591           Add helper function to find the best of all available
592           found possibilities that qualify given the min. threshold.
593
594         (gst_type_find_element_handle_event):
595           Fix the case where we get an EOS while still in TYPEFIND
596           mode (we want to chose the best of all possible types,
597           not just the first type that happens to be in our unsorted
598           list of possible types).
599
600         (gst_type_find_element_chain):
601           Make sure we return GST_FLOW_ERROR when we errored out
602           in stop_typefinding(); also, don't just find the best of
603           all found type entries and then use the last examined
604           type entry, but actually use the best entry.
605
606 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
607
608         * tests/examples/typefind/typefind.c: (type_found):
609         * tests/examples/xml/runxml.c: (xml_loaded):
610           More gcc4 fixes and a mem leak fix.
611
612 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
613
614         * tests/examples/xml/createxml.c: (object_saved):
615           gcc 4 fixes
616
617 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
618
619         * tests/Makefile.am:
620           enable the examples even more
621
622 2005-12-12  Andy Wingo  <wingo@pobox.com>
623
624         * libs/gst/net/gstnettimeprovider.c
625         (gst_net_time_provider_class_init, gst_net_time_provider_init)
626         (gst_net_time_provider_set_property)
627         (gst_net_time_provider_get_property):
628         API addition: Export "active" as a GObject property.
629         (gst_net_time_provider_thread): Only respond to time queries if
630         the time provider is active.
631
632         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
633         NetTimeProvider, preserving binary compat.
634
635 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
636
637         * tests/examples/controller/audio-example.c: (main):
638         * tests/examples/launch/Makefile.am:
639           convert comments again
640
641 2005-12-12  Wim Taymans  <wim@fluendo.com>
642
643         * libs/gst/base/gstpushsrc.c:
644         Fix typo.
645
646 2005-12-12  Wim Taymans  <wim@fluendo.com>
647
648         * docs/libs/gstreamer-libs-sections.txt:
649         Added new symbol to docs.
650
651         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
652         (gst_base_src_init), (gst_base_src_set_format),
653         (gst_base_src_default_query), (gst_base_src_query),
654         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
655         (gst_base_src_perform_seek), (gst_base_src_send_event),
656         (gst_base_src_default_event), (gst_base_src_event_handler),
657         (gst_base_src_set_property), (gst_base_src_get_property),
658         (gst_base_src_wait), (gst_base_src_do_sync),
659         (gst_base_src_update_length), (gst_base_src_get_range),
660         (gst_base_src_check_get_range), (gst_base_src_loop),
661         (gst_base_src_default_negotiate), (gst_base_src_start),
662         (gst_base_src_activate_push), (gst_base_src_activate_pull),
663         (gst_base_src_change_state):
664         * libs/gst/base/gstbasesrc.h:
665         Implement seeking to other formats than _BYTES.
666         Implement more seeking methods correctly.
667         Doc updates.
668         Added query vmethod.
669         Added do_seek vmethod to make life easier for subclasses
670         when seeking.
671         API addition: gst_base_src_set_format()
672
673 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
674
675         * tests/examples/Makefile.am:
676           added that too
677
678 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
679
680         * configure.ac:
681         * docs/random/ensonic/media-device-daemon.txt:
682         * tests/examples/controller/.cvsignore:
683         * tests/examples/controller/Makefile.am:
684         * tests/examples/controller/audio-example.c: (main):
685         * tests/examples/helloworld/.cvsignore:
686         * tests/examples/helloworld/Makefile.am:
687         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
688         * tests/examples/launch/.cvsignore:
689         * tests/examples/launch/Makefile.am:
690         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
691         * tests/examples/metadata/.cvsignore:
692         * tests/examples/metadata/Makefile.am:
693         * tests/examples/metadata/read-metadata.c: (message_loop),
694         (make_pipeline), (print_tag), (main):
695         * tests/examples/queue/.cvsignore:
696         * tests/examples/queue/Makefile.am:
697         * tests/examples/queue/queue.c: (event_loop), (main):
698         * tests/examples/typefind/.cvsignore:
699         * tests/examples/typefind/Makefile.am:
700         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
701         (main):
702         * tests/examples/xml/.cvsignore:
703         * tests/examples/xml/Makefile.am:
704         * tests/examples/xml/createxml.c: (object_saved), (main):
705         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
706         * tests/old/examples/Makefile.am:
707         * tests/old/examples/TODO:
708         * tests/old/examples/controller/.cvsignore:
709         * tests/old/examples/controller/Makefile.am:
710         * tests/old/examples/controller/audio-example.c:
711         * tests/old/examples/helloworld/.cvsignore:
712         * tests/old/examples/helloworld/Makefile.am:
713         * tests/old/examples/helloworld/helloworld.c:
714         * tests/old/examples/launch/.cvsignore:
715         * tests/old/examples/launch/Makefile.am:
716         * tests/old/examples/launch/mp3parselaunch.c:
717         * tests/old/examples/launch/mp3play:
718         * tests/old/examples/manual/Makefile.am:
719         * tests/old/examples/metadata/Makefile.am:
720         * tests/old/examples/metadata/read-metadata.c:
721         * tests/old/examples/queue/.cvsignore:
722         * tests/old/examples/queue/Makefile.am:
723         * tests/old/examples/queue/queue.c:
724         * tests/old/examples/typefind/.cvsignore:
725         * tests/old/examples/typefind/Makefile.am:
726         * tests/old/examples/typefind/typefind.c:
727         * tests/old/examples/xml/.cvsignore:
728         * tests/old/examples/xml/Makefile.am:
729         * tests/old/examples/xml/createxml.c:
730         * tests/old/examples/xml/runxml.c:
731           applied some simple fixing to some examples
732           re-enabled the working examples
733
734 2005-12-12  Wim Taymans  <wim@fluendo.com>
735
736         * gst/gstsegment.c: (gst_segment_init),
737         (gst_segment_set_last_stop), (gst_segment_set_seek),
738         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
739         (gst_segment_to_running_time):
740         Added more documentation.
741         Make sure the last_pos value is updated properly.
742         Make sure to_stream_time and to_running_time don't
743         operate on wrong values.
744
745         * tests/check/gst/gstsegment.c: (GST_START_TEST):
746         Update check.
747
748 2005-12-12  Michael Smith  <msmith@fluendo.com>
749
750         * plugins/elements/gsttypefindelement.c: (free_entry),
751         (gst_type_find_element_chain):
752           Now that we're not leaking factories, make sure we keep references
753           to them while we need them.
754
755 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
756
757         * tests/check/gst/struct_i386.h:
758           ifdef out the XML structs
759
760 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
761
762         * gst/gstvalue.c: (gst_value_transform_double_fraction):
763           floor is not needed, F is always positive; this obviates the
764           need for adding -lm when building without libxml
765
766 2005-12-12  Wim Taymans  <wim@fluendo.com>
767
768         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
769         Take current playback rate into account when reporting
770         the position.
771
772 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
773
774         * docs/manual/mime-world.fig:
775           Let's try this again, this time with a file that is
776           actually in XFig format.
777
778 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
779
780         * docs/manual/mime-world.fig:
781           Add audioconvert element to diagram so that it
782           matches the text and the code (fixes #319526).
783
784 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
785
786         * docs/pwg/building-chainfn.xml:
787         * docs/pwg/building-pads.xml:
788         * docs/pwg/building-state.xml:
789         * docs/pwg/other-source.xml:
790           Update state change stuff for 0.10 (fixes #322969).
791
792 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
793
794         * docs/manual/advanced-dataaccess.xml:
795         * docs/manual/appendix-checklist.xml:
796         * docs/manual/appendix-programs.xml:
797         * docs/manual/basics-pads.xml:
798         * docs/manual/highlevel-components.xml:
799         * docs/manual/manual.xml:
800           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
801           add converters in front of pipelines; remove curly
802           brackets for threads stuff, they no longer exist; use
803           GST_TYPE_FRACTION for framerates; update some pieces of
804           code to 0.10, but there's plenty more to do.
805
806         * docs/manual/appendix-porting.xml:
807           Expand on asynchroneous state changes; s/0.9/0.10/;
808           mention disappearance of gst_init_get_popt_table()
809           (fixes #322916).
810
811 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
812
813         * docs/faq/using.xml:
814           Spider no longer exists, and neither does gst-launch-ext.
815           Update examples to use decodebin and playbin and put
816           converters in front of sinks (fixes #323726).
817
818 2005-12-09  Michael Smith  <msmith@fluendo.com>
819
820         * plugins/elements/gsttypefindelement.c: (find_peek),
821         (gst_type_find_element_chain):
822           Fix leaking element factories in typefinding.
823           Fix problem where we forgot about a probable type on non-seekable
824           files, and thus later mis-typefound it.
825
826 2005-12-09  Michael Smith  <msmith@fluendo.com>
827
828         * common/m4/gst-makecontext.m4:
829         * common/m4/gst-mcsc.m4:
830         * configure.ac:
831         * win32/common/config.h:
832         * win32/common/config.h.in:
833           Remove makecontext stuff; not used in 0.10 and causes problems on
834           HPUX according to bug #322441
835
836 2005-12-07  Wim Taymans  <wim@fluendo.com>
837
838         * tests/check/Makefile.am:
839         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
840         (main):
841         * tests/check/libs/struct_i386.h:
842         Added ABI check for libs
843
844 2005-12-07  Wim Taymans  <wim@fluendo.com>
845
846         * tests/check/Makefile.am:
847         And add the struct_i386.h to dist.
848
849 2005-12-07  Wim Taymans  <wim@fluendo.com>
850
851         * tests/check/Makefile.am:
852         * tests/check/gst/.cvsignore:
853         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
854         (main):
855         * tests/check/gst/struct_i386.h:
856         Added check for ABI compatibility.
857
858 2005-12-07  Wim Taymans  <wim@fluendo.com>
859
860         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
861         (gst_fake_src_get_times), (gst_fake_src_create):
862         Fix broken sync option, fixes #323259
863
864 2005-12-07  Wim Taymans  <wim@fluendo.com>
865
866         * gst/gstbuffer.c:
867         Small docs update.
868
869         * gst/gstcaps.c: (gst_caps_is_equal):
870         Don't assert on NULL <--> X. Fixes #323260
871
872         * gst/gstminiobject.c: (gst_mini_object_replace):
873         If we're doing atomic operations, we might just as well use
874         the proper way to get an atomic pointer.
875
876         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
877         Clean up debugging.
878
879 2005-12-07  Michael Smith  <msmith@fluendo.com>
880
881         * gst/parse/grammar.y:
882           Remove handling of { } for threads.
883
884 2005-12-06  David Schleef  <ds@schleef.org>
885
886         * libs/gst/base/gstbasetransform.c: speling fix.
887
888 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
889
890         * docs/libs/tmpl/gstdataprotocol.sgml:
891         * docs/random/omega/testing/gstobject.c:
892         * gst/gst.c:
893         * gst/gstclock.c:
894         * gst/gstelement.c:
895         * gst/gstelementfactory.c:
896         * gst/gsterror.c:
897         * gst/gstevent.c:
898         * gst/gstghostpad.c:
899         * gst/gstinfo.c:
900         * gst/gstpadtemplate.c:
901         * gst/gstregistryxml.c:
902         * gst/gsttaglist.c:
903         * gst/gsttagsetter.c:
904         * gst/gsttypefind.c:
905         * gst/gstvalue.c:
906         * libs/gst/base/gstbasesrc.c:
907         * libs/gst/net/gstnetclientclock.c:
908         * libs/gst/net/gstnettimeprovider.c:
909         * plugins/elements/gstfakesrc.c:
910         * plugins/elements/gstfdsrc.c:
911         * plugins/elements/gstfilesrc.c:
912         * plugins/elements/gstidentity.c:
913         * plugins/elements/gstqueue.c:
914         * plugins/elements/gsttypefindelement.c:
915         * plugins/indexers/gstfileindex.c:
916         * plugins/indexers/gstmemindex.c:
917         * tests/check/gst/gsttag.c:
918         * tests/old/examples/cutter/cutter.c:
919         * tests/old/examples/mixer/mixer.c:
920         * tests/old/examples/xml/runxml.c: (main):
921         * tests/old/testsuite/caps/normalisation.c:
922         * tests/old/testsuite/debug/global.c:
923         * tests/old/testsuite/parse/parse1.c:
924         * tools/gst-xmlinspect.c:
925         * win32/common/dirent.c:
926           expand tabs
927
928 === release 0.10.0 ===
929
930 2005-12-05   <thomas (at) apestaart (dot) org>
931
932         * configure.ac:
933           releasing 0.10.0, "Maroilles"
934
935 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
936
937         submitted by: Funda Wang <fundawang@linux.net.cn>
938
939         * po/LINGUAS:
940         * po/zh_CN.po:
941           added Chinese (Traditional) translation
942
943 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
944
945         * docs/gst/gstreamer-sections.txt:
946         * docs/libs/tmpl/gstdataprotocol.sgml:
947         * docs/random/thomasvs/TODO:
948         * gst/gstutils.c:
949         * gst/gstutils.h:
950           fix docs
951
952 2005-12-05  Andy Wingo  <wingo@pobox.com>
953
954         patch by: Wim Taymans <wim@fluendo.com>
955
956         * libs/gst/base/gstbasetransform.c
957         (gst_base_transform_prepare_output_buf)
958         (gst_base_transform_buffer_alloc):
959         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
960         alloc_buffer_and_set_caps.
961
962         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
963         set_caps on the source pad.
964         (gst_pad_alloc_buffer_and_set_caps): New function, does what
965         alloc_buffer used to do. Fixes #322874.
966
967         * docs/gst/gstreamer-sections.txt: 
968         * docs/design/part-negotiation.txt: 
969         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
970         changes.
971
972 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
973
974         patch by: Sebastien Moutte
975
976         * win32/MANIFEST:
977         * win32/common/config.h.in:
978         * win32/vs6/libgstcontroller.dsp:
979           win32 build fixes
980
981 2005-12-05  Wim Taymans  <wim@fluendo.com>
982
983         * gst/gstcaps.c: (gst_caps_is_equal):
984         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
985         (gst_fake_src_create):
986         Back out previous code changes, leave doc updates, file bugs 
987         instead. 
988
989 2005-12-05  Wim Taymans  <wim@fluendo.com>
990
991         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
992         (gst_fake_src_get_times), (gst_fake_src_create):
993         * plugins/elements/gstfakesrc.h:
994         Fix broken sync code.
995
996 2005-12-05  Wim Taymans  <wim@fluendo.com>
997
998         * gst/gstcaps.c: (gst_caps_is_equal):
999         Comparing NULL against !NULL yields different caps, not a
1000         failure.
1001
1002 2005-12-05  Wim Taymans  <wim@fluendo.com>
1003
1004         * gst/gstpipeline.c:
1005         Fix small typo in docs.
1006
1007 2005-12-05  Andy Wingo  <wingo@pobox.com>
1008
1009         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1010
1011         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1012         registries/plugins with a MAJORMINOR one.
1013         (plugin_desc): Rename library from gstcoreleements to
1014         staticelements. Fixes #323222.
1015
1016 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1017
1018         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1019           Change debug category to 'collectpads' from 'collect_pads'
1020           (fixes #323250).
1021
1022 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1023
1024         patch by: Sebastien Moutte
1025
1026         * libs/gst/controller/gstinterpolation.c:
1027           use convert function for uint64/double
1028         * win32/vs6/libgstcontroller.dsp:
1029           link to GLib
1030
1031 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1032
1033         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1034         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1035         * gst/gstutils.h:
1036         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1037           add tests that seem to show that the guint64/gdouble conversions
1038           are correct.
1039
1040 2005-12-02  Wim Taymans  <wim@fluendo.com>
1041
1042         * gst/gstregistry.c: (gst_registry_add_path):
1043         * gst/gstregistry.h:
1044         * gst/gstregistryxml.c:
1045         Fix docs again.
1046
1047 2005-12-02  Wim Taymans  <wim@fluendo.com>
1048
1049         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1050         (gst_util_uint64_scale_int):
1051         Small cleanup.
1052
1053         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1054         Add debug log line.
1055
1056         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1057         Add FIXME.
1058
1059 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1060
1061         * win32/MANIFEST:
1062         * win32/common/config.h:
1063         * win32/vs6/gstreamer.dsw:
1064         * win32/vs6/libgstcoreelements.dsp:
1065         * win32/vs6/libgstelements.dsp:
1066           renamed core elements plugin
1067
1068 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1069
1070         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1071         (get_candidates):
1072           do piece-wise major/minor comparison so 0.9 < 0.10
1073           also allow .exe extensions for tools
1074
1075 2005-12-02  Michael Smith  <msmith@fluendo.com>
1076
1077         * gst/gst.c:
1078           Escape a % to make gtkdoc happier; bug 322958.
1079
1080 === release 0.9.7 ===
1081
1082 2005-12-01   <thomas (at) apestaart (dot) org>
1083
1084         * configure.ac:
1085           releasing 0.9.7, "My Dog Has No Nose"
1086
1087 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1088
1089         * common/gst-xmlinspect.py:
1090         * configure.ac:
1091         * docs/libs/tmpl/gstdataprotocol.sgml:
1092         * docs/random/release:
1093         * po/af.po:
1094         * po/az.po:
1095         * po/bg.po:
1096         * po/ca.po:
1097         * po/cs.po:
1098         * po/de.po:
1099         * po/en_GB.po:
1100         * po/fr.po:
1101         * po/it.po:
1102         * po/nb.po:
1103         * po/nl.po:
1104         * po/ru.po:
1105         * po/sq.po:
1106         * po/sr.po:
1107         * po/sv.po:
1108         * po/tr.po:
1109         * po/uk.po:
1110         * po/vi.po:
1111         * win32/common/config.h:
1112         * win32/common/config.h.in:
1113         * win32/vs6/gst_inspect.dsp:
1114         * win32/vs6/gst_launch.dsp:
1115         * win32/vs6/libgstbase.dsp:
1116         * win32/vs6/libgstelements.dsp:
1117         * win32/vs6/libgstreamer.dsp:
1118         * win32/vs7/GStreamer.vcproj:
1119         * win32/vs7/gst-inspect.vcproj:
1120         * win32/vs7/gst-launch.vcproj:
1121         * win32/vs7/libgstbase.vcproj:
1122           bump GST_MAJORMINOR to 0.10
1123           reset libtool version
1124
1125 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1126
1127         * po/LINGUAS:
1128         * po/bg.po:
1129           Added Bulgarian translation by (Alexander Shopov)
1130
1131 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1132
1133         * tests/check/gst/gstplugin.c:
1134           fix test
1135
1136 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1137
1138         * common/gst-xmlinspect.py:
1139         * common/gtk-doc-plugins.mak:
1140         * configure.ac:
1141         * docs/Makefile.am:
1142         * docs/gst/Makefile.am:
1143         * docs/gst/gstreamer-docs.sgml:
1144         * docs/gst/gstreamer-sections.txt:
1145         * docs/gst/gstreamer.types:
1146         * docs/gst/gstreamer.types.in:
1147         * docs/plugins/Makefile.am:
1148         * docs/plugins/gstreamer-plugins-docs.sgml:
1149         * docs/plugins/gstreamer-plugins-sections.txt:
1150         * docs/plugins/gstreamer-plugins.types:
1151         * docs/plugins/inspect.stamp:
1152         * docs/plugins/inspect/plugin-coreelements.xml:
1153         * docs/plugins/inspect/plugin-coreindexers.xml:
1154         * docs/plugins/scanobj-build.stamp:
1155         * gstreamer.spec.in:
1156         * plugins/elements/Makefile.am:
1157         * plugins/elements/gstelements.c:
1158         * plugins/elements/gstfakesink.c:
1159         * plugins/elements/gstfakesrc.c:
1160         * plugins/elements/gstfilesink.c:
1161         * plugins/elements/gstfilesrc.c:
1162         * plugins/elements/gstqueue.c:
1163         * plugins/indexers/Makefile.am:
1164         * plugins/indexers/gstindexers.c:
1165           document core plugins in a separate document just like all the
1166           others
1167           rename these plugins to something starting with core
1168
1169 2005-12-01  Andy Wingo  <wingo@pobox.com>
1170
1171         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1172         padding here before, but it missed the commit.
1173
1174 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1175
1176         * libs/gst/controller/gstinterpolation.c:
1177           whitespace prices have crashed, we should feel free to use some now
1178           use gst_guint64_to_gdouble
1179
1180 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1181
1182         * libs/gst/controller/gstcontroller.c:
1183         * libs/gst/controller/gsthelper.c:
1184         * libs/gst/controller/gstinterpolation.c:
1185         * libs/gst/controller/lib.c:
1186           wrap config.h include
1187
1188 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1189
1190         * docs/gst/gstreamer-sections.txt:
1191           update docs
1192
1193 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1194
1195         * plugins/elements/gstelements.c:
1196         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1197         (gst_fd_sink__class_init), (gst_fd_sink__init),
1198         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1199         (gst_fd_sink__get_property):
1200         * plugins/elements/gstfdsink.h:
1201         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1202         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1203         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1204         (gst_fd_src_unlock), (gst_fd_src_set_property),
1205         (gst_fd_src_get_property), (gst_fd_src_create),
1206         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1207         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1208         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1209         (gst_fd_src_uri_handler_init):
1210         * plugins/elements/gstfdsrc.h:
1211         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1212           more anal cleanup
1213
1214 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1215
1216         * docs/gst/Makefile.am:
1217         * docs/gst/gstreamer.types.in:
1218         * gst/Makefile.am:
1219           fix the docs build
1220
1221 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * configure.ac:
1224         * gst/Makefile.am:
1225         * gst/gst.c:
1226         * gst/gstplugin.h:
1227         * gst/gstregistry.h:
1228         * tests/benchmarks/complexity.c:
1229         * tests/benchmarks/mass-elements.c:
1230         * tests/check/Makefile.am:
1231         * tools/Makefile.am:
1232         * tools/gst-inspect.c:
1233         * tools/gst-xmlinspect.c:
1234           various fixes to make
1235           --disable-nls --disable-registry --disable-loadsave
1236           --disable-parse --disable-gst-debug
1237           work and get the core .so down to 360444 bytes after stripping
1238
1239 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1240
1241         * Makefile.am:
1242         * configure.ac:
1243           descend into tests
1244         * docs/random/thomasvs/TODO:
1245         * tests/Makefile.am:
1246         * tests/README:
1247           add a README
1248
1249 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1250
1251         * win32/GStreamer.vcproj:
1252         * win32/MANIFEST:
1253         * win32/Makefile:
1254         * win32/Makefile.inspect:
1255         * win32/Makefile.launch:
1256         * win32/Makefile.register:
1257         * win32/README.txt:
1258         * win32/gst-inspect.vcproj:
1259         * win32/gst-launch.vcproj:
1260         * win32/gst-register.vcproj:
1261         * win32/gstelements.vcproj:
1262         * win32/gstgetbits.def:
1263         * win32/gstgetbits.vcproj:
1264         * win32/gstreamer-dbg.def:
1265         * win32/gstreamer.def:
1266         * win32/libgstbase.def:
1267         * win32/libgstbase.vcproj:
1268         * win32/link_oldruntime.c:
1269         * win32/mman.c:
1270         * win32/mman.h:
1271         * win32/mman.inl:
1272         * win32/msvc71.sln:
1273           move even more stuff, win32/ is nice and clean now
1274
1275 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1276
1277         * libs/gst/control/.cvsignore:
1278         * win32/MANIFEST:
1279         * win32/config.h:
1280         * win32/dirent.c:
1281         * win32/dirent.h:
1282         * win32/gstbytestream.def:
1283         * win32/gstbytestream.vcproj:
1284         * win32/gstconfig.h:
1285         * win32/gstenumtypes.c:
1286         * win32/gstenumtypes.h:
1287         * win32/gstoptimalscheduler.vcproj:
1288         * win32/gstversion.h:
1289         * win32/gtchar.h:
1290         * win32/testsuite/bins.vcproj:
1291         * win32/testsuite/bytestream.vcproj:
1292         * win32/testsuite/caps.vcproj:
1293         * win32/testsuite/cleanup.vcproj:
1294         * win32/testsuite/clock.vcproj:
1295         * win32/testsuite/debug.vcproj:
1296         * win32/testsuite/dlopen.vcproj:
1297         * win32/testsuite/dynparams.vcproj:
1298         * win32/testsuite/elements.vcproj:
1299         * win32/testsuite/ghostpads.vcproj:
1300         * win32/testsuite/indexers.vcproj:
1301         * win32/testsuite/negotiation.vcproj:
1302         * win32/testsuite/parse.vcproj:
1303         * win32/testsuite/plugin.vcproj:
1304         * win32/testsuite/refcounting.vcproj:
1305         * win32/testsuite/schedulers.vcproj:
1306         * win32/testsuite/states.vcproj:
1307         * win32/testsuite/tags.vcproj:
1308         * win32/testsuite/threads.vcproj:
1309           remove old win32 stuff that isn't maintained and should be
1310           reorganized
1311
1312 2005-11-30  Andy Wingo  <wingo@pobox.com>
1313
1314         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
1315         loading the gst.interfaces python module bork.
1316
1317         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
1318         available since GLib 2.2. Fixes #318031.
1319
1320 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1321
1322         * Makefile.am:
1323         * check/.cvsignore:
1324         * check/Makefile.am:
1325         * check/elements/.cvsignore:
1326         * check/elements/fakesrc.c:
1327         * check/elements/fdsrc.c:
1328         * check/elements/identity.c:
1329         * check/generic/.cvsignore:
1330         * check/generic/states.c:
1331         * check/gst-libs/.cvsignore:
1332         * check/gst-libs/controller.c:
1333         * check/gst-libs/gdp.c:
1334         * check/gst/.cvsignore:
1335         * check/gst/capslist.h:
1336         * check/gst/gst.c:
1337         * check/gst/gstbin.c:
1338         * check/gst/gstbuffer.c:
1339         * check/gst/gstbus.c:
1340         * check/gst/gstcaps.c:
1341         * check/gst/gstelement.c:
1342         * check/gst/gstevent.c:
1343         * check/gst/gstghostpad.c:
1344         * check/gst/gstiterator.c:
1345         * check/gst/gstmessage.c:
1346         * check/gst/gstminiobject.c:
1347         * check/gst/gstobject.c:
1348         * check/gst/gstpad.c:
1349         * check/gst/gstpipeline.c:
1350         * check/gst/gstplugin.c:
1351         * check/gst/gstsegment.c:
1352         * check/gst/gststructure.c:
1353         * check/gst/gstsystemclock.c:
1354         * check/gst/gsttag.c:
1355         * check/gst/gstutils.c:
1356         * check/gst/gstvalue.c:
1357         * check/net/.cvsignore:
1358         * check/net/gstnetclientclock.c:
1359         * check/net/gstnettimeprovider.c:
1360         * check/pipelines/.cvsignore:
1361         * check/pipelines/cleanup.c:
1362         * check/pipelines/simple_launch_lines.c:
1363         * check/pipelines/stress.c:
1364         * check/states/.cvsignore:
1365         * check/states/sinks.c:
1366         * configure.ac:
1367         * examples/Makefile.am:
1368         * examples/appreader/.cvsignore:
1369         * examples/appreader/Makefile.am:
1370         * examples/appreader/appreader.c:
1371         * examples/controller/.cvsignore:
1372         * examples/controller/Makefile.am:
1373         * examples/controller/audio-example.c:
1374         * examples/cutter/.cvsignore:
1375         * examples/cutter/Makefile.am:
1376         * examples/cutter/cutter.c:
1377         * examples/cutter/cutter.h:
1378         * examples/events/Makefile.am:
1379         * examples/events/seek.c:
1380         * examples/helloworld/.cvsignore:
1381         * examples/helloworld/Makefile.am:
1382         * examples/helloworld/helloworld.c:
1383         * examples/helloworld2/.cvsignore:
1384         * examples/helloworld2/Makefile.am:
1385         * examples/helloworld2/helloworld2.c:
1386         * examples/launch/.cvsignore:
1387         * examples/launch/Makefile.am:
1388         * examples/launch/mp3parselaunch.c:
1389         * examples/launch/mp3play:
1390         * examples/manual/.cvsignore:
1391         * examples/manual/Makefile.am:
1392         * examples/manual/extract.pl:
1393         * examples/metadata/Makefile.am:
1394         * examples/metadata/read-metadata.c:
1395         * examples/mixer/.cvsignore:
1396         * examples/mixer/Makefile.am:
1397         * examples/mixer/mixer.c:
1398         * examples/mixer/mixer.h:
1399         * examples/pingpong/.cvsignore:
1400         * examples/pingpong/Makefile.am:
1401         * examples/pingpong/pingpong.c:
1402         * examples/plugins/.cvsignore:
1403         * examples/plugins/Makefile.am:
1404         * examples/plugins/example.c:
1405         * examples/plugins/example.h:
1406         * examples/pwg/.cvsignore:
1407         * examples/pwg/Makefile.am:
1408         * examples/pwg/extract.pl:
1409         * examples/queue/.cvsignore:
1410         * examples/queue/Makefile.am:
1411         * examples/queue/queue.c:
1412         * examples/queue2/.cvsignore:
1413         * examples/queue2/Makefile.am:
1414         * examples/queue2/queue2.c:
1415         * examples/queue3/.cvsignore:
1416         * examples/queue3/Makefile.am:
1417         * examples/queue3/queue3.c:
1418         * examples/queue4/.cvsignore:
1419         * examples/queue4/Makefile.am:
1420         * examples/queue4/queue4.c:
1421         * examples/retag/.cvsignore:
1422         * examples/retag/Makefile.am:
1423         * examples/retag/retag.c:
1424         * examples/retag/transcode.c:
1425         * examples/thread/.cvsignore:
1426         * examples/thread/Makefile.am:
1427         * examples/thread/thread.c:
1428         * examples/typefind/.cvsignore:
1429         * examples/typefind/Makefile.am:
1430         * examples/typefind/typefind.c:
1431         * examples/xml/.cvsignore:
1432         * examples/xml/Makefile.am:
1433         * examples/xml/createxml.c:
1434         * examples/xml/runxml.c:
1435         * tests/Makefile.am:
1436         * tests/check/Makefile.am:
1437         * testsuite/.cvsignore:
1438         * testsuite/Makefile.am:
1439         * testsuite/Rules:
1440         * testsuite/caps/.cvsignore:
1441         * testsuite/caps/Makefile.am:
1442         * testsuite/caps/app_fixate.c:
1443         * testsuite/caps/audioscale.c:
1444         * testsuite/caps/caps.c:
1445         * testsuite/caps/caps.h:
1446         * testsuite/caps/caps_strings:
1447         * testsuite/caps/compatibility.c:
1448         * testsuite/caps/deserialize.c:
1449         * testsuite/caps/enumcaps.c:
1450         * testsuite/caps/eratosthenes.c:
1451         * testsuite/caps/filtercaps.c:
1452         * testsuite/caps/fixed.c:
1453         * testsuite/caps/fraction-convert.c:
1454         * testsuite/caps/fraction-multiply-and-zero.c:
1455         * testsuite/caps/intersect2.c:
1456         * testsuite/caps/intersection.c:
1457         * testsuite/caps/normalisation.c:
1458         * testsuite/caps/random.c:
1459         * testsuite/caps/renegotiate.c:
1460         * testsuite/caps/sets.c:
1461         * testsuite/caps/simplify.c:
1462         * testsuite/caps/string-conversions.c:
1463         * testsuite/caps/structure.c:
1464         * testsuite/caps/subtract.c:
1465         * testsuite/caps/union.c:
1466         * testsuite/debug/.cvsignore:
1467         * testsuite/debug/Makefile.am:
1468         * testsuite/debug/category.c:
1469         * testsuite/debug/commandline.c:
1470         * testsuite/debug/global.c:
1471         * testsuite/debug/output.c:
1472         * testsuite/debug/printf_extension.c:
1473         * testsuite/dlopen/.cvsignore:
1474         * testsuite/dlopen/Makefile.am:
1475         * testsuite/dlopen/dlopen_gst.c:
1476         * testsuite/dlopen/loadgst.c:
1477         * testsuite/elements/.cvsignore:
1478         * testsuite/elements/Makefile.am:
1479         * testsuite/elements/gst-inspect-check.in:
1480         * testsuite/elements/struct_i386.h:
1481         * testsuite/elements/struct_size.c:
1482         * testsuite/indexers/.cvsignore:
1483         * testsuite/indexers/Makefile.am:
1484         * testsuite/indexers/cache1.c:
1485         * testsuite/indexers/indexdump.c:
1486         * testsuite/parse/.cvsignore:
1487         * testsuite/parse/Makefile.am:
1488         * testsuite/parse/parse1.c:
1489         * testsuite/parse/parse2.c:
1490         * testsuite/plugin/.cvsignore:
1491         * testsuite/plugin/Makefile.am:
1492         * testsuite/plugin/README:
1493         * testsuite/plugin/dynamic.c:
1494         * testsuite/plugin/linked.c:
1495         * testsuite/plugin/loading.c:
1496         * testsuite/plugin/registry.c:
1497         * testsuite/plugin/static.c:
1498         * testsuite/plugin/static2.c:
1499         * testsuite/plugin/testplugin.c:
1500         * testsuite/plugin/testplugin2.c:
1501         * testsuite/plugin/testplugin2_s.c:
1502         * testsuite/plugin/testplugin_s.c:
1503         * testsuite/refcounting/.cvsignore:
1504         * testsuite/refcounting/Makefile.am:
1505         * testsuite/refcounting/bin.c:
1506         * testsuite/refcounting/element.c:
1507         * testsuite/refcounting/element_pad.c:
1508         * testsuite/refcounting/mainloop.c:
1509         * testsuite/refcounting/mem.c:
1510         * testsuite/refcounting/mem.h:
1511         * testsuite/refcounting/object.c:
1512         * testsuite/refcounting/pad.c:
1513         * testsuite/refcounting/sched.c:
1514         * testsuite/refcounting/thread.c:
1515         * testsuite/states/.cvsignore:
1516         * testsuite/states/Makefile.am:
1517         * testsuite/states/bin.c:
1518         * testsuite/states/locked.c:
1519         * testsuite/states/parent.c:
1520         * testsuite/threads/.cvsignore:
1521         * testsuite/threads/159566.c:
1522         * testsuite/threads/159852.c:
1523         * testsuite/threads/Makefile.am:
1524         * testsuite/threads/queue.c:
1525         * testsuite/threads/signals.c:
1526         * testsuite/threads/staticrec.c:
1527         * testsuite/threads/thread.c:
1528         * testsuite/threads/threadb.c:
1529         * testsuite/threads/threadc.c:
1530         * testsuite/threads/threadd.c:
1531         * testsuite/threads/threade.c:
1532         * testsuite/threads/threadf.c:
1533         * testsuite/threads/threadg.c:
1534         * testsuite/threads/threadh.c:
1535         * testsuite/threads/threadi.c:
1536           move all of these under tests
1537
1538 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1539
1540         * configure.ac:
1541         * tests/Makefile.am:
1542           fix distcheck
1543
1544 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1545
1546         * docs/gst/gstreamer-sections.txt:
1547         * tests/sched/.cvsignore:
1548         * tests/sched/Makefile.am:
1549         * tests/sched/cases/(fs-fs).xml:
1550         * tests/sched/cases/(fs-i-fs).xml:
1551         * tests/sched/cases/(fs-i-i-fs).xml:
1552         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1553         * tests/sched/dynamic-pipeline.c:
1554         * tests/sched/interrupt1.c:
1555         * tests/sched/interrupt2.c:
1556         * tests/sched/interrupt3.c:
1557         * tests/sched/runtestcases:
1558         * tests/sched/runxml.c:
1559         * tests/sched/sched-stress.c:
1560         * tests/sched/sort.c:
1561         * tests/sched/testcases:
1562         * tests/sched/testcases1.tc:
1563         * tests/seeking/.cvsignore:
1564         * tests/seeking/Makefile.am:
1565         * tests/seeking/seeking1.c:
1566         * tests/threadstate/.cvsignore:
1567         * tests/threadstate/Makefile.am:
1568         * tests/threadstate/test1.c:
1569         * tests/threadstate/test2.c:
1570         * tests/threadstate/threadstate1.c:
1571         * tests/threadstate/threadstate2.c:
1572         * tests/threadstate/threadstate3.c:
1573         * tests/threadstate/threadstate4.c:
1574         * tests/threadstate/threadstate5.c:
1575           remove obsolete tests
1576         * configure.ac:
1577         * tests/bench-complexity.scm:
1578         * tests/bench-mass_elements.scm:
1579         * tests/complexity.c:
1580         * tests/complexity.gnuplot:
1581         * tests/instantiate/.cvsignore:
1582         * tests/instantiate/Makefile.am:
1583         * tests/instantiate/caps.c:
1584         * tests/mass_elements.c:
1585         * tests/network-clock-utils.scm:
1586         * tests/network-clock.scm:
1587         * tests/plot-data:
1588         First pass at cleaning up tests/ dir before moving the rest
1589         Combined with CVS surgery
1590
1591 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1592
1593         * po/POTFILES.in:
1594           queue has moved, update
1595
1596 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1597
1598         * docs/gst/gstreamer-sections.txt:
1599           remove double entries from the docs
1600         * gst/gst_private.h:
1601         * gst/gstinfo.c: (_gst_debug_init):
1602           remove the THREAD debug category
1603         * gst/Makefile.am:
1604         * gst/gstqueue.c:
1605         * gst/gstqueue.h:
1606         * docs/gst/gstreamer.types:
1607         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1608         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1609           completely move queue and fix up debugging categories
1610
1611 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1612
1613         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1614           make initialization portable, using LL is not
1615
1616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1617
1618         * win32/common/gstconfig.h:
1619           add large padding
1620
1621 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1622
1623         * win32/common/libgstreamer.def:
1624           rename symbols; sort base section
1625
1626 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1627
1628         * gst/gstclock.c: (do_linear_regression):
1629           remove crack non-portable handrolled DEBUG macro
1630
1631 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1632
1633         * docs/random/release:
1634           update notes
1635         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1636         (gst_object_flags_get_type), (register_gst_bin_flags),
1637         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1638         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1639         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1640         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1641         (gst_caps_flags_get_type), (register_gst_clock_return),
1642         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1643         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1644         (gst_clock_flags_get_type), (register_gst_state),
1645         (gst_state_get_type), (register_gst_state_change_return),
1646         (gst_state_change_return_get_type), (register_gst_state_change),
1647         (gst_state_change_get_type), (register_gst_element_flags),
1648         (gst_element_flags_get_type), (register_gst_core_error),
1649         (gst_core_error_get_type), (register_gst_library_error),
1650         (gst_library_error_get_type), (register_gst_resource_error),
1651         (gst_resource_error_get_type), (register_gst_stream_error),
1652         (gst_stream_error_get_type), (register_gst_event_type_flags),
1653         (gst_event_type_flags_get_type), (register_gst_event_type),
1654         (gst_event_type_get_type), (register_gst_seek_type),
1655         (gst_seek_type_get_type), (register_gst_seek_flags),
1656         (gst_seek_flags_get_type), (register_gst_format),
1657         (gst_format_get_type), (register_gst_index_certainty),
1658         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1659         (gst_index_entry_type_get_type),
1660         (register_gst_index_lookup_method),
1661         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1662         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1663         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1664         (gst_index_flags_get_type), (register_gst_debug_level),
1665         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1666         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1667         (gst_iterator_result_get_type), (register_gst_iterator_item),
1668         (gst_iterator_item_get_type), (register_gst_message_type),
1669         (gst_message_type_get_type), (register_gst_mini_object_flags),
1670         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1671         (gst_pad_link_return_get_type), (register_gst_flow_return),
1672         (gst_flow_return_get_type), (register_gst_activate_mode),
1673         (gst_activate_mode_get_type), (register_gst_pad_direction),
1674         (gst_pad_direction_get_type), (register_gst_pad_flags),
1675         (gst_pad_flags_get_type), (register_gst_pad_presence),
1676         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1677         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1678         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1679         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1680         (gst_plugin_flags_get_type), (register_gst_rank),
1681         (gst_rank_get_type), (register_gst_query_type),
1682         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1683         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1684         (gst_tag_flag_get_type), (register_gst_task_state),
1685         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1686         (gst_alloc_trace_flags_get_type),
1687         (register_gst_type_find_probability),
1688         (gst_type_find_probability_get_type), (register_gst_uri_type),
1689         (gst_uri_type_get_type), (register_gst_parse_error),
1690         (gst_parse_error_get_type):
1691         * win32/common/gstenumtypes.h:
1692         * win32/common/gstversion.h:
1693           update visual studio generated files
1694
1695 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1696
1697         * win32/vs6/libgstbase.dsp:
1698         * win32/vs6/libgstelements.dsp:
1699           update project files for new locations
1700
1701 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1702
1703         * Makefile.am:
1704           remove some files
1705         * README:
1706           reinstate and update
1707         * DEVEL:
1708         * REQUIREMENTS:
1709           removed
1710         * LICENSE:
1711         * docs/random/LICENSE:
1712           moved to random
1713
1714 2005-11-30  Edward Hervey  <edward@fluendo.com>
1715
1716         * gst/gsttypefind.c: (gst_type_find_register):
1717         * gst/gsttypefind.h:
1718         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1719         (gst_type_find_factory_dispose):
1720         * gst/gsttypefindfactory.h:
1721         Fix memory leak in GstTypeFindFactory.
1722
1723 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1724
1725         * gst/gst.c:
1726         * plugins/elements/Makefile.am:
1727         * plugins/elements/gstelements.c:
1728         * plugins/elements/gstqueue.c:
1729           move queue from core to the elements plugin
1730
1731 2005-11-29  Andy Wingo  <wingo@pobox.com>
1732
1733         * libs/gst/base/gstbasetransform.h: 
1734         * libs/gst/base/gstbasesrc.h: 
1735         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1736
1737         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1738         of pointers by which to pad very extensible base classes (like the
1739         ones in libs/gst/base).
1740
1741 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1742
1743         * docs/gst/gstreamer-docs.sgml:
1744         * docs/gst/gstreamer-sections.txt:
1745         * docs/libs/gstreamer-libs-docs.sgml:
1746         * docs/libs/gstreamer-libs-sections.txt:
1747           moving documentation from core to lib
1748
1749 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1750
1751         * check/Makefile.am:
1752         * configure.ac:
1753         * docs/gst/Makefile.am:
1754         * gst/Makefile.am:
1755         * gst/base/.cvsignore:
1756         * gst/base/Makefile.am:
1757         * gst/base/README:
1758         * gst/base/gstadapter.c:
1759         * gst/base/gstadapter.h:
1760         * gst/base/gstbasesink.c:
1761         * gst/base/gstbasesink.h:
1762         * gst/base/gstbasesrc.c:
1763         * gst/base/gstbasesrc.h:
1764         * gst/base/gstbasetransform.c:
1765         * gst/base/gstbasetransform.h:
1766         * gst/base/gstcollectpads.c:
1767         * gst/base/gstcollectpads.h:
1768         * gst/base/gstpushsrc.c:
1769         * gst/base/gstpushsrc.h:
1770         * gst/base/gsttypefindhelper.c:
1771         * gst/base/gsttypefindhelper.h:
1772         * gst/check/Makefile.am:
1773         * gst/check/gstcheck.c:
1774         * gst/check/gstcheck.h:
1775         * gst/net/Makefile.am:
1776         * gst/net/gstnet.h:
1777         * gst/net/gstnetclientclock.c:
1778         * gst/net/gstnetclientclock.h:
1779         * gst/net/gstnettimepacket.c:
1780         * gst/net/gstnettimepacket.h:
1781         * gst/net/gstnettimeprovider.c:
1782         * gst/net/gstnettimeprovider.h:
1783         * libs/gst/Makefile.am:
1784         * libs/gst/base/Makefile.am:
1785         * libs/gst/base/gstbasetransform.c:
1786         * libs/gst/check/Makefile.am:
1787         * plugins/elements/Makefile.am:
1788         * po/POTFILES.in:
1789           CVS surgery + support to move base, check, and net out of gst
1790           and into libs/gst
1791
1792 2005-11-29  Andy Wingo  <wingo@pobox.com>
1793
1794         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1795
1796         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1797         padding.
1798
1799         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1800
1801         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1802
1803         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1804
1805         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1806         padding; reduces object size by about 30%. We don't expect
1807         anything else to go into gstobject.
1808
1809         * gst/gstminiobject.h (struct _GstMiniObject)
1810         (struct _GstMiniObjectClass): Only one pointer of padding; the
1811         payload is only a pointer and two ints anyway. For the class there
1812         are only two methods as well.
1813         
1814         * gst/gstelement.h (struct _GstElementClass): Removed
1815         the state_changed signal callback, it is not used.
1816
1817 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1818
1819         * docs/gst/gstreamer.types:
1820           fix includes, though they are a little dinky
1821
1822 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1823
1824         * check/Makefile.am:
1825           look in the right place for elements, a lot more chance of
1826           success
1827         * gst/Makefile.am:
1828           remove indexers and elements subdirs
1829         * plugins/Makefile.am:
1830           make indexers conditional
1831
1832 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1833
1834         * Makefile.am:
1835         * configure.ac:
1836         * plugins/elements/Makefile.am:
1837         * plugins/elements/gstcapsfilter.c:
1838         * plugins/elements/gstfilesink.c:
1839         * plugins/elements/gstfilesrc.c:
1840         * plugins/elements/gstidentity.c:
1841         * plugins/indexers/Makefile.am:
1842           do CVS surgery and related build fixery to move elements
1843           and indexers in a new gstreamer/plugins directory, out of the
1844           gst/ directory
1845
1846 2005-11-29  Andy Wingo  <wingo@pobox.com>
1847
1848         * check/Makefile.am:
1849         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1850         * pkgconfig/gstreamer-net.pc.in:
1851         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1852         #322257.
1853
1854 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1855
1856         * tools/Makefile.am:
1857         * tools/gst-complete.1.in:
1858         * tools/gst-complete.c:
1859         * tools/gst-compprep.1.in:
1860         * tools/gst-compprep.c:
1861           removing -compprep and -complete
1862
1863 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1864
1865         * gst/gstevent.c: (gst_event_new_new_segment),
1866         (gst_event_parse_new_segment):
1867         * gst/gstevent.h:
1868           fix #320529 - clean up new_segment API and structure.
1869           Let's hope everyone was using the methods, and not the structure.
1870
1871 2005-11-29  Edward Hervey  <edward@fluendo.com>
1872
1873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1874         (gst_base_sink_event), (gst_base_sink_do_sync),
1875         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1876         Properly handle non GST_FORMAT_TIME segment
1877         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1878         Properly handle non GST_FORMAT_TIME segment
1879         * gst/gstsegment.c:
1880         This function is valid if the accumulator is 0 and the format
1881         is different from the requested format.
1882         
1883 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1884
1885         * docs/gst/gstreamer-sections.txt:
1886         Add gst_query_new_seeking and gst_query_parse_seeking to the
1887         docs.
1888
1889 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1890
1891         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1892           Treat a pad alloc with new caps the same as if we were not
1893           negotiated, in order to allow a changing upstream output
1894           to produce a new format of data.
1895
1896 2005-11-29  Edward Hervey  <edward@fluendo.com>
1897
1898         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1899         (gst_base_transform_event), (gst_base_transform_eventfunc):
1900         The event virtual method is now properly implemented, with a default
1901         handler
1902         Sub classes should call the parent_class event method. They should
1903         return FALSE if they had a problem handling the given event, or don't
1904         want GstBaseTransform to send that even downstream
1905         * gst/elements/gstidentity.c: (gst_identity_class_init),
1906         (gst_identity_init), (gst_identity_event),
1907         (gst_identity_transform_ip), (gst_identity_set_property),
1908         (gst_identity_get_property):
1909         * gst/elements/gstidentity.h:
1910         Added the single-segment boolean property.
1911         If set to TRUE, it will output a single segment of data, starting from
1912         0, will eat up all incoming newsegment, and modify the timestamp of the
1913         buffers accordingly
1914
1915 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1916
1917         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1918           Don't ref NULL target pad (#322751). Improve docs.
1919
1920 2005-11-29  Michael Smith  <msmith@fluendo.com>
1921
1922         * gst/gstregistryxml.c: (load_plugin):
1923           Don't crash if we failed to load a feature from a plugin. 
1924
1925 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1926
1927         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1928         (GST_START_TEST):
1929           use more check API and less GLib API
1930
1931 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1932
1933         * Makefile.am:
1934           don't run checks if we don't have check
1935         * common/check.mak:
1936           remove the registry when running make torture
1937         * docs/gst/gstreamer-sections.txt:
1938           remove second multiply
1939         * gst/gstqueue.c: (gst_queue_loop):
1940           fix a compile warning when disabling debug
1941
1942 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1943
1944         * gst/gstinfo.h:
1945         Hey! Let's print the pad name if the pointer != NULL instead
1946         of when it == NULL :-)
1947
1948 2005-11-28  Wim Taymans  <wim@fluendo.com>
1949
1950         * check/gst/gstutils.c: (GST_START_TEST):
1951         Updated check, add some scaling accuracy checking code.
1952
1953         * gst/gstutils.c: (gst_util_div128_64),
1954         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1955         (gst_util_uint64_scale_int):
1956         Fix 6 times faster division code. Optimize for common 
1957         1/1 and less common X/1 cases.
1958
1959 2005-11-28  Wim Taymans  <wim@fluendo.com>
1960
1961         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1962         More checks.
1963
1964         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1965         (do_linear_regression), (gst_clock_add_observation):
1966         Cleanups.
1967         Release lock when the clock cannot be slaved.
1968         Catch the case where the regression returned an invalid denominator.
1969
1970         * gst/gstutils.c: (gst_util_div128_64_iterate),
1971         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1972         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1973         Add protentially more performant non-iterative 128/64 divide function
1974         that unfortunatly does not work yet.
1975         Shortcut the trivial 0/X = 0 case.
1976         Remove the warnings on overflow.
1977
1978 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1979
1980         * gst/gstplugin.c: (gst_plugin_register_func):
1981           everything causing a plugin not to load should be at least a WARNING
1982
1983 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1984
1985         * docs/random/ensonic/dparams.txt:
1986           some TODOs for the next dev cycle
1987         * libs/gst/controller/gstcontroller.c:
1988         (gst_controlled_property_set_interpolation_mode),
1989         (gst_controlled_property_new):
1990         * libs/gst/controller/gstcontroller.h:
1991           use base type to assign acccessor functions
1992
1993 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1994
1995         * check/Makefile.am:
1996         Oops, that should have been top_srcdir
1997
1998 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1999
2000         * check/Makefile.am:
2001         * check/elements/fdsrc.c: (GST_START_TEST):
2002         Use a cmdline define to specify the location of a file to use for
2003         testing, to avoid breaking distcheck.
2004
2005 2005-11-28  Andy Wingo  <wingo@pobox.com>
2006
2007         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2008
2009 2005-11-28  Edward Hervey  <edward@fluendo.com>
2010
2011         * tools/gst-launch.c: (main):
2012         Clarify the output strings, makes it easier to translate.
2013         Fixes #322626
2014
2015 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2016
2017         * gst/Makefile.am:
2018           don't try and build net if we don't even have <sys/socket.h>
2019
2020 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2021
2022         * check/Makefile.am:
2023         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2024         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2025           Add tests for fdsrc seekability
2026
2027         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2028         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2029         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2030         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2031         * gst/elements/gstfdsrc.h:
2032           fdsrc should not be a 'live' source.
2033           Implement seeking on seekable fd's.
2034
2035         * gst/gstquery.c: (gst_query_new_seeking),
2036         (gst_query_parse_seeking):
2037         * gst/gstquery.h:
2038           Implement SEEKING query functions: 
2039             *_new_seeking and *_parse_seeking
2040
2041 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2042
2043         * gst/gstelement.c: (gst_element_dispose):
2044           don't loop forever
2045
2046         * gst/gstiterator.c:
2047         * gst/gststructure.c:
2048           doc fixes
2049
2050         * libs/gst/controller/gstcontroller.c:
2051         (gst_controlled_property_set_interpolation_mode):
2052         * libs/gst/controller/gstcontroller.h:
2053         * libs/gst/controller/gstinterpolation.c:
2054         (interpolate_none_get_enum_value_array):
2055           support controlling enums
2056
2057 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2058
2059         * gst/gstvalue.c:
2060           Improve documentation for gst_value_union().
2061
2062         * gst/gstvalue.h:
2063           Change return value for union, intersect and subtract functions
2064           from gint to gboolean.
2065
2066 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         * gst/gstvalue.c: (gst_value_serialize_any_list),
2069         (gst_value_transform_any_list_string),
2070         (gst_value_deserialize_list), (gst_value_deserialize_array),
2071         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2072         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2073         (gst_value_set_fraction_range_full),
2074         (gst_value_deserialize_fraction_range),
2075         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2076         (gst_value_deserialize_boolean),
2077         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2078         (gst_value_serialize_float), (gst_value_deserialize_float),
2079         (gst_string_wrap), (gst_value_deserialize_string),
2080         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2081         (gst_value_union_int_range_int_range),
2082         (gst_value_intersect_int_range_int_range),
2083         (gst_value_intersect_double_range_double_range),
2084         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2085         (gst_value_subtract_int_range_int_range),
2086         (gst_value_subtract_double_double_range),
2087         (gst_value_subtract_double_range_double_range),
2088         (gst_value_deserialize_fraction):
2089         * gst/gstvalue.h:
2090           Use gint, gdouble and gchar in our API instead of int, double and
2091           char (and make usage in gstvalue.c more consistent).
2092
2093 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2094
2095         * check/Makefile.am:
2096         * libs/gst/controller/Makefile.am:
2097         * libs/gst/dataprotocol/Makefile.am:
2098           fix up Makefile.am and remove GST_ENABLE_NEW
2099
2100 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2101
2102         * configure.ac:
2103         * gst/Makefile.am:
2104         * gst/base/Makefile.am:
2105         * gst/check/Makefile.am:
2106         * gst/elements/Makefile.am:
2107         * gst/net/Makefile.am:
2108           update LDFLAGS use some more
2109
2110 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2111
2112         * common/m4/gst-doc.m4:
2113           Fixes #312589
2114
2115 2005-11-26  Edward Hervey  <edward@fluendo.com>
2116
2117         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2118         This shouldn't issue a g_warning since it returns NULL if it
2119         couldn't find the plugin, and all functions using this behave
2120         properly on a NULL return. Switching to a GST_WARNING.
2121
2122 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2123
2124         * gst/gstbin.c: (gst_bin_handle_message_func):
2125         Don't leak clock messages.
2126
2127 2005-11-25  Wim Taymans  <wim@fluendo.com>
2128
2129         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2130         (gst_util_uint64_scale_int):
2131         Optimisations, remove unneeded vars.
2132
2133 2005-11-25  Wim Taymans  <wim@fluendo.com>
2134
2135         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2136         Added more checks for the high precision uint64 cases.
2137
2138         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2139         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2140         Implement high precision (guint64 * guint64) / guint64.
2141
2142 2005-11-24  Wim Taymans  <wim@fluendo.com>
2143
2144         * gst/base/gstbasesrc.c: (gst_base_src_query):
2145         Fix wrong percentage query.
2146
2147         * gst/gstutils.c: (gst_util_uint64_scale),
2148         (gst_util_uint64_scale_int):
2149         Add some more common cases that can be handled 
2150         efficiently to _scale.
2151
2152 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2153
2154         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2155         (gst_mini_object_suite):
2156           don't use check calls from threads; check probably isn't
2157           threadsafe and using a lock to make it threadsafe would
2158           defeat the purpose of this check
2159         * gst/check/gstcheck.c:
2160         * gst/check/gstcheck.h:
2161           use GST_DEBUG some more
2162
2163 2005-11-24  Wim Taymans  <wim@fluendo.com>
2164
2165         * gst/gstutils.c: (gst_util_uint64_scale),
2166         (gst_util_uint64_scale_int):
2167         Chain trivial case to _scale_int.
2168
2169 2005-11-24  Wim Taymans  <wim@fluendo.com>
2170
2171         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2172         Added test for scaling.
2173
2174         * gst/gstclock.h:
2175         Small doc fix.
2176
2177         * gst/gstutils.c: (gst_util_uint64_scale_int):
2178         Implemented high precision scaling code.
2179
2180 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2181
2182         * gst/gstinfo.h:
2183           do not crash on pad==NULL
2184
2185 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2186
2187         Patch by: Stefan Kost
2188
2189         * common/gtk-doc.mak:
2190         * docs/gst/Makefile.am:
2191         * docs/libs/Makefile.am:
2192           Fix distcheck issues for the libraries docs build
2193           Closes #319599.
2194
2195 2005-11-24  Michael Smith <msmith@fluendo.com>
2196
2197         * docs/manual/basics-helloworld.xml:
2198           Fix bug #315027: memory leak in example code in docs.
2199
2200 2005-11-24  Michael Smith <msmith@fluendo.com>
2201
2202         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2203           Unlock the PREROLL_LOCK in a failure case.
2204
2205 2005-11-24  Wim Taymans  <wim@fluendo.com>
2206
2207         * docs/gst/gstreamer-sections.txt:
2208         * gst/base/gstadapter.h:
2209         * gst/base/gstbasesink.h:
2210         * gst/base/gstbasesrc.h:
2211         * gst/base/gstbasetransform.h:
2212         * gst/base/gstpushsrc.h:
2213         * gst/elements/gstfakesink.h:
2214         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2215         * gst/elements/gstfakesrc.h:
2216         * gst/elements/gstfilesink.h:
2217         * gst/elements/gstfilesrc.h:
2218         * gst/gst.c:
2219         * gst/gstbin.c:
2220         * gst/gstbuffer.c: (_gst_buffer_copy):
2221         * gst/gstbus.h:
2222         * gst/gstcaps.c:
2223         * gst/gstchildproxy.c:
2224         * gst/gstclock.c:
2225         * gst/gstelement.c:
2226         * gst/gstelementfactory.c:
2227         * gst/gstelementfactory.h:
2228         * gst/gstevent.c:
2229         * gst/gstghostpad.h:
2230         * gst/gstindex.h:
2231         * gst/gstinterface.h:
2232         * gst/gstminiobject.c:
2233         * gst/gstminiobject.h:
2234         * gst/gstpad.c:
2235         * gst/gstpad.h:
2236         * gst/gstpadtemplate.h:
2237         * gst/gstpipeline.h:
2238         * gst/gstpluginfeature.h:
2239         * gst/gstquery.h:
2240         * gst/gstqueue.h:
2241         * gst/gsttaglist.c:
2242         * gst/gsttaglist.h:
2243         * gst/gsttagsetter.c:
2244         * gst/gsttagsetter.h:
2245         * gst/gsttrace.c:
2246         * gst/gsttrace.h:
2247         * gst/gsttypefind.h:
2248         * gst/gsturi.h:
2249         * gst/gstvalue.c:
2250         * gst/net/gstnetclientclock.c:
2251         * gst/net/gstnetclientclock.h:
2252         * gst/net/gstnettimepacket.c:
2253         * gst/net/gstnettimeprovider.c:
2254         * gst/net/gstnettimeprovider.h:
2255         Doc fixes.
2256
2257 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2258
2259         * configure.ac: back to HEAD
2260
2261 === release 0.9.6 ===
2262
2263 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2264
2265         * configure.ac:
2266           releasing 0.9.6, "Always On Time"
2267
2268 2005-11-23  Wim Taymans  <wim@fluendo.com>
2269
2270         * docs/gst/gstreamer-sections.txt:
2271         * gst/glib-compat.c:
2272         * gst/gsttagsetter.c:
2273         * gst/gstvalue.c:
2274         * gst/net/gstnetclientclock.c:
2275         * gst/net/gstnettimepacket.h:
2276         Doc updates.
2277
2278 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2279
2280         * docs/faq/using.xml:
2281         * docs/libs/tmpl/gstcontrol.sgml:
2282         * docs/manual/advanced-dparams.xml:
2283         * docs/manual/appendix-checklist.xml:
2284         * docs/manual/basics-elements.xml:
2285         * docs/pwg/other-source.xml:
2286         * docs/random/moving-plugins:
2287         * gst/gstpad.c:
2288         * tools/gst-launch.1.in:
2289           remove mentions of sinesrc
2290
2291 2005-11-23  Michael Smith <msmith@fluendo.com>
2292
2293         * docs/gst/gstreamer-sections.txt:
2294           Update for new API and API changes.
2295         * gst/gstobject.h:
2296           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
2297         * gst/gstvalue.c:
2298           Documentation typo fix.
2299         * gst/net/gstnettimepacket.c:
2300           Documentation fixes for arguments.
2301
2302 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
2303
2304         * gst/gststructure.c: (gst_structure_get_fraction),
2305         (gst_structure_parse_value),
2306         (gst_structure_fixate_field_nearest_fraction):
2307         * gst/gststructure.h:
2308         * gst/gstutils.c: (gst_util_uint64_scale_int):
2309         * gst/gstutils.h:
2310         * scripts/update-funcnames:
2311         API Changes. 
2312         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
2313         Make gst_structure_fixate_field_nearest_fraction take a numerator
2314         and denominator argument instead of a GValue
2315         add gst_structure_get_fraction helper function.
2316
2317 2005-11-23  Wim Taymans  <wim@fluendo.com>
2318
2319         * docs/design/part-TODO.txt:
2320         Update TODO.
2321
2322         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2323         * gst/net/gstnetclientclock.h:
2324         Use parent fields for timeout and window_size.
2325
2326 2005-11-23  Andy Wingo  <wingo@pobox.com>
2327
2328         * check/net/gstnetclientclock.c (test_functioning): Adjust to
2329         rate_num/rate_denom change.
2330
2331         * gst/net/gstnetclientclock.c
2332         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
2333         OBJECT_LOCK. Don't call add_observation with the lock.
2334
2335         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
2336         fraction.
2337         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
2338         rate fraction.
2339         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
2340         deal with rate as a fraction whose numerator and denominator are
2341         GstClockTime values.
2342         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
2343         master; the other fields are protected by the SLAVE_LOCK.
2344         (do_linear_regression): Note that this must be called with the
2345         SLAVE_LOCK.
2346         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
2347         OBJECT_LOCK. Call set_calibration instead of touching the
2348         variables directly.
2349         (gst_clock_set_property, gst_clock_get_property): Protect
2350         master/slave parameters with the SLAVE_LOCK.
2351
2352         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
2353         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
2354         note that all of the instance variables that add_observation and
2355         the set_master functions use are protected by that lock and not
2356         the OBJECT_LOCK.
2357         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
2358
2359         * gst/gstclock.c (gst_clock_add_observation): No longer requires
2360         the caller to take the object lock.
2361
2362 2005-11-23  Wim Taymans  <wim@fluendo.com>
2363
2364         * gst/gsterror.c: (_gst_core_errors_init):
2365         * gst/gsterror.h:
2366         Add error for clock stuff.
2367
2368         * gst/gstpipeline.c: (gst_pipeline_change_state),
2369         (gst_pipeline_set_clock):
2370         Post clock error when clock cannot be used in a pipeline.
2371
2372 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
2373
2374         * docs/gst/gstreamer-sections.txt:
2375           make two symbols from gstinfo private for the docs
2376         * gst/base/gstcollectpads.h:
2377         * gst/gstutils.c:
2378           fix doc typos, update docs
2379
2380 2005-11-22  Wim Taymans  <wim@fluendo.com>
2381
2382         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2383         (gst_base_sink_wait), (gst_base_sink_do_sync),
2384         (gst_base_sink_handle_event):
2385         * gst/base/gstbasesink.h:
2386         No need to store the clock, the parent element class already
2387         has it.
2388
2389         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
2390         Updates for clock_set returning a gboolean
2391
2392         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
2393         (gst_clock_id_wait_async), (gst_clock_class_init),
2394         (gst_clock_init), (gst_clock_finalize),
2395         (gst_clock_get_internal_time), (gst_clock_get_time),
2396         (gst_clock_slave_callback), (gst_clock_set_master),
2397         (gst_clock_get_master), (do_linear_regression),
2398         (gst_clock_add_observation), (gst_clock_set_property),
2399         (gst_clock_get_property):
2400         * gst/gstclock.h:
2401         Implement master/slave. When setting a clock as a slave, a
2402         periodic timeout is scheduled to sample master and slave times.
2403         Then the slave clock is recalibrated to match offset and rate
2404         of the master clock.
2405         Update logging a bit.
2406         Add flag so that a clock can state that is cannot be slaved to
2407         another clock.
2408
2409         * gst/gstelement.c: (gst_element_set_clock):
2410         * gst/gstelement.h:
2411         The set clock returns a gboolean for when an element cannot
2412         deal with the selected clock in the pipeline. 
2413
2414         * gst/gstpipeline.c: (gst_pipeline_change_state),
2415         (gst_pipeline_set_clock):
2416         * gst/gstpipeline.h:
2417         Handle the case where the selected clock cannot be set on
2418         the pipeline.
2419
2420         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
2421         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
2422         (gst_net_client_clock_set_property),
2423         (gst_net_client_clock_get_property),
2424         (gst_net_client_clock_observe_times):
2425         * gst/net/gstnetclientclock.h:
2426         Use regression code in GstClock parent, remove duplicated
2427         functionality.
2428
2429 2005-11-22  Michael Smith <msmith@fluendo.com>
2430
2431         * gst/gstutils.c: (gst_util_clock_time_scale):
2432         * gst/gstutils.h:
2433         * docs/gst/gstreamer-sections.txt:
2434           Rename method to have extra underscore.
2435
2436 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2437
2438         * gst/elements/Makefile.am:
2439         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
2440         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2441         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2442         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
2443         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
2444         * gst/elements/gstfakesrc.h:
2445         * gst/gstqueue.c: (queue_leaky_get_type):
2446           correctly fix GEnumValues so that nick is the short lowercase
2447           dashed tag
2448         * tools/gst-inspect.c: (print_element_properties_info):
2449           also show the nick, since it's useful to use from parse_launch
2450           syntax
2451           Fixes #322139
2452
2453 2005-11-22  Michael Smith <msmith@fluendo.com>
2454
2455         * gst/gstutils.c: (gst_util_clocktime_scale):
2456         * gst/gstutils.h:
2457         * docs/gst/gstreamer-sections.txt:
2458           Add util method for scaling a clocktime by a fraction. Useful 
2459           implementation is left as an exercise for the reader.
2460
2461 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2462
2463         * gst/gstvalue.c: (gst_value_collect_fraction_range):
2464         If needed, allocate storage in the destination value during
2465         collection.
2466
2467 2005-11-22  Edward Hervey  <edward@fluendo.com>
2468
2469         * docs/gst/gstreamer-sections.txt:
2470         * gst/Makefile.am:
2471         * gst/gst.h:
2472         * gst/gsturitype.c:
2473         * gst/gsturitype.h:
2474         * gst/gstutils.c: (gst_util_set_object_arg):
2475         * tools/gst-compprep.c: (main):
2476         * tools/gst-inspect.c: (print_element_properties_info):
2477         Removed GstURI, closes bug #321061
2478
2479 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2480
2481         * check/gst/gststructure.c: (GST_START_TEST):
2482         * gst/gststructure.c: (gst_structure_parse_value):
2483           Oops, broke automatic string type parsing.
2484           Add a test to catch it in future.
2485
2486 2005-11-22  Andy Wingo  <wingo@pobox.com>
2487
2488         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2489         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2490         Actually rename the function implementations. Grr.
2491
2492 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2493
2494         * check/gst/capslist.h:
2495           Comment test cases
2496         * check/gst/gststructure.c: (GST_START_TEST),
2497         (gst_structure_suite):
2498           Test automatic value type detection in gst_structure_from_string.
2499         * gst/gststructure.c: (gst_structure_parse_value):
2500           Add fraction as a type we try and guess automatically in
2501           caps/structure strings.
2502
2503 2005-11-22  Andy Wingo  <wingo@pobox.com>
2504
2505         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2506
2507         * gst/gsttagsetter.h:
2508         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2509         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2510         (gst_tag_setter_add_tag_valist)
2511         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2512         _add_values, _add_valist, and _add_valist_values. Since this is an
2513         interface the function suffixes should be more explicit so
2514         language binding don't end up with element.add_valist ->
2515         gst_tag_setter_add_valist, for example. Fixes #322069.
2516
2517 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2518
2519         * check/gst/gstcaps.c: (GST_START_TEST):
2520           Extend caps string tests to check that a caps to string
2521           conversion is reversible and produces the same caps.
2522
2523         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2524           Output "fraction" as the generic type fraction range, so caps
2525           serialisation and deserialisation works.
2526         * check/gst/capslist.h:
2527         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2528           Support 'MIN' and 'MAX' for deserialising fractions.
2529
2530 2005-11-22  Andy Wingo  <wingo@pobox.com>
2531
2532         * gst/gstevent.h (gst_event_new_new_segment)
2533         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2534         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2535         Renamed from *_newsegment, *_buffersize, *_notarget.
2536
2537         * scripts/update-funcnames: New script, performs the changes
2538         listed above.
2539
2540 2005-11-22  Wim Taymans  <wim@fluendo.com>
2541
2542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2543         Make sure the GstFlowReturn is returned.
2544
2545         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2546         (gst_bus_add_signal_watch):
2547         * gst/gstbus.h:
2548         add gst_bus_add_signal_watch_full.
2549
2550         * gst/gstplugin.c: (gst_plugin_load_file):
2551         Small style cleanup.
2552
2553 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2554
2555         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2556           Block the fakesrc srcpad when we send an event, to avoid
2557           contention on the stream_lock causing random test failures.
2558
2559 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2560
2561         * check/gst/gstvalue.c: (GST_START_TEST):
2562         * gst/gstvalue.c: (gst_value_fraction_subtract):
2563           Fix subtraction.
2564
2565 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2566
2567         * gst/gst.h:
2568           include "gstchildproxy.h"
2569         * gst/gstchildproxy.h:
2570         * libs/gst/controller/gstcontroller.h:
2571           use G_GNUC_NULL_TERMINATED
2572
2573 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2574
2575         * check/gst/capslist.h:
2576         * check/gst/gstcaps.c: (GST_START_TEST):
2577         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2578         * gst/gststructure.c: (gst_structure_parse_range),
2579         (gst_structure_fixate_field_nearest_fraction):
2580         * gst/gststructure.h:
2581         * gst/gstvalue.c: (gst_value_init_fraction_range),
2582         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2583         (gst_value_collect_fraction_range),
2584         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2585         (gst_value_set_fraction_range_full),
2586         (gst_value_get_fraction_range_min),
2587         (gst_value_get_fraction_range_max),
2588         (gst_value_serialize_fraction_range),
2589         (gst_value_transform_fraction_range_string),
2590         (gst_value_compare_fraction_range),
2591         (gst_value_deserialize_fraction_range),
2592         (gst_value_intersect_fraction_fraction_range),
2593         (gst_value_intersect_fraction_range_fraction_range),
2594         (gst_value_subtract_fraction_fraction_range),
2595         (gst_value_subtract_fraction_range_fraction),
2596         (gst_value_subtract_fraction_range_fraction_range),
2597         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2598         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2599         (gst_value_transform_string_fraction), (_gst_value_initialize):
2600         * gst/gstvalue.h:
2601           Implement fraction ranges and extend GstFraction to support
2602           arithmetic subtraction, as well as deserialization from integer
2603           strings such as "100"
2604           Add a testsuite as for int and double range set operations
2605
2606 2005-11-21  Andy Wingo  <wingo@pobox.com>
2607
2608         * gst/gsttaglist.h: 
2609         * gst/gstcaps.h: 
2610         * gst/gststructure.h: Add glib-compat.h.
2611
2612 2005-11-21  Wim Taymans  <wim@fluendo.com>
2613
2614         * gst/gstbin.c: (gst_bin_change_state_func):
2615         Fix for #321595
2616
2617 2005-11-21  Wim Taymans  <wim@fluendo.com>
2618
2619         * gst/gstsegment.h:
2620         And add a nice define too.
2621
2622 2005-11-21  Wim Taymans  <wim@fluendo.com>
2623
2624         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2625         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2626         (gst_segment_set_duration), (gst_segment_set_last_stop),
2627         (gst_segment_set_seek), (gst_segment_set_newsegment),
2628         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2629         (gst_segment_clip):
2630         * gst/gstsegment.h:
2631         Make binding friendly.
2632
2633 2005-11-21  Andy Wingo  <wingo@pobox.com>
2634
2635         * gst/gsttagsetter.h: 
2636         * gst/gsttaglist.h: 
2637         * gst/gststructure.h: 
2638         * gst/gstcaps.h: 
2639         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2640         #319940.
2641
2642         * gst/gsterror.c (_gst_core_errors_init):
2643         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2644         category.
2645
2646         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2647         (noinst_HEADERS): noinst the -private.
2648
2649 2005-11-21  Michael Smith <msmith@fluendo.com>
2650
2651         * gst/gstplugin.h:
2652         * gst/gstregistry.h:
2653           Remove unimplemented declarations for which we can see no sensible
2654           use.
2655
2656 2005-11-21  Andy Wingo  <wingo@pobox.com>
2657
2658         * gst/gst.h: Include glib-compat.h.
2659
2660         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2661
2662         * gst/glib-compat.c: Include the public and the private header.
2663
2664         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2665
2666         * gst/gstvalue.c: 
2667         * gst/gstpad.c: 
2668         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2669
2670         * check/gst/gstevent.c (create_custom_events): Check that
2671         FLUSH_STOP is serialized.
2672
2673         * check/elements/identity.c (event_func): 
2674         * check/elements/fakesrc.c (event_func): No stream lock, the core
2675         takes it.
2676
2677         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2678         stream lock taking, yay.
2679
2680         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2681         ensure that core takes the stream lock.
2682
2683         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2684         lock name change.
2685
2686         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2687         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2688         it already. For the flush start we do take it though so we get the
2689         right preroll state change messages.
2690
2691         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2692         the stream lock here, the core does it for us.
2693
2694         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2695         GST_STREAM_GET_LOCK.
2696         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2697         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2698         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2699         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2700         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2701         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2702
2703         * gst/gstpad.c: Update for stream lock name change.
2704
2705         * gst/base/gstbasesink.c: Update for preroll lock name change.
2706
2707 2005-11-21  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2710         (gst_clock_get_master):
2711         * gst/gstclock.h:
2712         * gst/gstsystemclock.c: (gst_system_clock_init):
2713         Convert Clock flags to object flags.
2714         Added methods to manage master/slave clocks.
2715
2716 2005-11-21  Wim Taymans  <wim@fluendo.com>
2717
2718         * check/gst/gstsegment.c: (GST_START_TEST):
2719         * docs/design/part-TODO.txt:
2720         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2721         (gst_base_sink_event), (gst_base_sink_do_sync),
2722         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2723         (gst_base_sink_query), (gst_base_sink_change_state):
2724         * gst/base/gstbasesink.h:
2725         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2726         (gst_base_src_default_newsegment),
2727         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2728         (gst_base_src_get_range), (gst_base_src_loop),
2729         (gst_base_src_change_state):
2730         * gst/base/gstbasesrc.h:
2731         * gst/base/gstbasetransform.c:
2732         (gst_base_transform_prepare_output_buf),
2733         (gst_base_transform_event), (gst_base_transform_change_state):
2734         * gst/base/gstbasetransform.h:
2735         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2736         (gst_collect_pads_event):
2737         * gst/base/gstcollectpads.h:
2738         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2739         (gst_fake_src_create):
2740         * gst/elements/gstfakesrc.h:
2741         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2742         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2743         (gst_segment_set_last_stop), (gst_segment_set_seek),
2744         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2745         (gst_segment_to_running_time), (gst_segment_clip):
2746         * gst/gstsegment.h:
2747         More segment updates, replace code in plugins with segment
2748         helper functions.
2749
2750 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2751
2752         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2753         Don't ignore sscanf results
2754
2755 2005-11-21  Andy Wingo  <wingo@pobox.com>
2756
2757         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2758
2759         * *.h:
2760         * *.c: Ran scripts/update-macros. Oh yes.
2761
2762         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2763         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2764         GST_GET_LOCK, etc.
2765
2766         * scripts/update-macros: New script. Run it on your files to
2767         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2768         well.
2769
2770 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2771
2772         * docs/gst/Makefile.am:
2773         * docs/gst/gstreamer-docs.sgml:
2774         * docs/gst/gstreamer-sections.txt:
2775         * docs/gst/gstreamer.types:
2776         * gst/gstinfo.h:
2777           more docs fixes, add new api to the docs
2778
2779 2005-11-21  Andy Wingo  <wingo@pobox.com>
2780
2781         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2782         state_broadcast call.
2783
2784         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2785
2786 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2787
2788         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2789         function calls for arrays.
2790
2791 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2792
2793         * docs/random/ensonic/media-device-daemon.txt:
2794           wild idea, can this be done?
2795         * docs/gst/gstreamer-sections.txt:
2796         * gst/gsterror.h:
2797         * gst/gstfilter.c:
2798         * gst/gstfilter.h:
2799         * gst/gstplugin.h:
2800         * gst/gstpluginfeature.c:
2801         * gst/gsttrace.c:
2802         * gst/gstvalue.c:
2803         * gst/gstvalue.h:
2804           doc fixes and additions
2805
2806 2005-11-21  Andy Wingo  <wingo@pobox.com>
2807
2808         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2809         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2810         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2811         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2812         private to the basesrc implementation.
2813
2814         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2815         behalf of event function if necessary. It should no longer be
2816         necessary to take the stream lock in pad's event functions. Fixes
2817         #320299.
2818
2819 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2820         * docs/gst/gstreamer-sections.txt:
2821         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2822         (gst_structure_fixate_field_nearest_double),
2823         (gst_structure_fixate_field_boolean):
2824         * gst/gststructure.h:
2825         * win32/common/libgstreamer.def:
2826         * win32/gstreamer.def:
2827
2828         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2829         (#322027)
2830
2831 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2832
2833         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2834         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2835         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2836         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2837         (gst_fdsrc_uri_handler_init):
2838         * gst/elements/gstfdsrc.h:
2839           Port fd:// URI handler from 0.8 to fdsrc
2840
2841 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2844         (gst_value_serialize_fourcc):
2845         * gst/gstvalue.h:
2846           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2847           consistent with our other format defines (#320324).
2848
2849 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2850
2851         * gst/gstvalue.c: (gst_value_is_fixed):
2852           Revert previous commit. Value lists are by definition
2853           not fixed, as they are a list of possible values.
2854
2855 2005-11-21  Andy Wingo  <wingo@pobox.com>
2856
2857         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2858         during the stable series if we need it. Fixes #319178.
2859
2860         * gst/gstevent.c (gst_event_new_filler): Removed.
2861
2862         * check/gst/gstevent.c: Update comment about filler events.
2863
2864 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2865
2866         * gst/gstvalue.c: (gst_value_is_fixed):
2867           Should handle both value arrays and value lists.
2868
2869 2005-11-21  Andy Wingo  <wingo@pobox.com>
2870
2871         patch by: Alessandro Dessina <alessandro nnva org>
2872
2873         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2874         functions to access arrays. Fixes #321962.
2875
2876 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2877
2878         * docs/gst/gstreamer.types:
2879           gst_collectpads_get_type => gst_collect_pads_get_type.
2880           
2881         * gst/base/gstbasetransform.c:
2882           Remove unused SIGNAL_HANDOFF enum.
2883
2884 2005-11-21  Andy Wingo  <wingo@pobox.com>
2885
2886         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2887         the event type (upstream, downstream, serialized). Renamed
2888         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2889         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2890         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2891
2892         * gst/gstevent.c: Update for new CUSTOM event names.
2893
2894         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2895
2896         * gst/gstevent.h:
2897         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2898         bug #319392.
2899
2900 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2901
2902         * docs/gst/gstreamer-sections.txt:
2903         * win32/common/libgstbase.def:
2904         * win32/libgstbase.def:
2905         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2906         (gst_collect_pads_class_init), (gst_collect_pads_init),
2907         (gst_collect_pads_finalize), (gst_collect_pads_new),
2908         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2909         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2910         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2911         (gst_collect_pads_start), (gst_collect_pads_stop),
2912         (gst_collect_pads_peek), (gst_collect_pads_pop),
2913         (gst_collect_pads_available), (gst_collect_pads_read),
2914         (gst_collect_pads_flush), (gst_collect_pads_event),
2915         (gst_collect_pads_chain):
2916         * gst/base/gstcollectpads.h:
2917           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2918           unimplemented functions as unimplemented. Add padding to
2919           GstCollectData. (#320766, #320423)
2920
2921 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2922
2923         * gst/gstmessage.c:
2924           Improve docs for DURATION message (usage of duration parameter)
2925           (#320113)
2926
2927 2005-11-20  Wim Taymans  <wim@fluendo.com>
2928
2929         * check/Makefile.am:
2930         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2931         (main):
2932         * gst/Makefile.am:
2933         * gst/gst.h:
2934         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2935         (gst_segment_set_seek), (gst_segment_set_newsegment),
2936         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2937         (gst_segment_clip):
2938         * gst/gstsegment.h:
2939         Added segment helper structure and methods. Not fully implemented
2940         yet.
2941         Added segment check.
2942
2943 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2944
2945         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2946           Add a deserialisation test for fractions
2947         * examples/metadata/read-metadata.c: (message_loop),
2948         (make_pipeline), (main):
2949           Fix up metadata reading sample.
2950         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2951           Debug format fix
2952         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2953           Don't try and fixate empty caps
2954         * gst/gst_private.h:
2955           Wrap in G_BEGIN_DECLS/G_END_DECLS
2956         * gst/gstvalue.c: (gst_value_collect_fraction),
2957         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2958         (gst_value_transform_string_fraction),
2959         (gst_value_compare_fraction):
2960           Add some extra guards to ensure that we don't end up 
2961           with an invalid denominator of 0 in a gstfraction and
2962           that fractions always get reduced.
2963
2964 2005-11-20  Wim Taymans  <wim@fluendo.com>
2965
2966         * docs/gst/gstreamer-sections.txt:
2967         * gst/gstbuffer.h:
2968         * gst/gstelement.c:
2969         * gst/gstformat.c:
2970         * gst/gstformat.h:
2971         * gst/gstindex.h:
2972         * gst/gstquery.c:
2973         * gst/gstquery.h:
2974         * gst/gstvalue.c:
2975         Doc fixes.
2976
2977 2005-11-20  Wim Taymans  <wim@fluendo.com>
2978
2979         * docs/design/part-TODO.txt:
2980         * gst/gstcaps.h:
2981         Make a proper enum of the flag.
2982
2983 2005-11-19  Wim Taymans  <wim@fluendo.com>
2984
2985         * docs/design/part-TODO.txt:
2986         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2987         (gst_format_to_quark), (gst_format_register):
2988         * gst/gstformat.h:
2989         * gst/gstquery.c: (_gst_query_initialize),
2990         (gst_query_type_get_name), (gst_query_type_to_quark),
2991         (gst_query_type_register):
2992         * gst/gstquery.h:
2993         Add type to quark and type to string conversions.
2994
2995 2005-11-19  Andy Wingo  <wingo@pobox.com>
2996
2997         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2998         #320097.
2999
3000 2005-11-19  Wim Taymans  <wim@fluendo.com>
3001
3002         * docs/design/part-TODO.txt:
3003         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3004         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3005         (gst_bin_handle_message_func):
3006         * gst/gstbin.h:
3007         Make message handling overridable.
3008
3009 2005-11-19  Andy Wingo  <wingo@pobox.com>
3010
3011         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3012
3013         * gst/gstclock.h:
3014         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3015         be a GstClockTime.
3016         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3017         is a GstClockTime. Fixes #321710.
3018
3019         * gst/gstclock.h (GstClock): Remove offset property. Add
3020         internal_calibration and external_calibration. Fix padding. Pad
3021         also by GstClockTime so we don't run into problems.
3022
3023         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3024         (gst_clock_get_rate_offset): Remove.
3025         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3026
3027         * gst/gstutils.h:
3028         * gst/gstutils.c (g_static_rec_cond_wait)
3029         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3030
3031         * gst/gstbin.c: Remove terrible continue_state prototype.
3032
3033         * gst/gstelement.h (gst_element_continue_state): Make public.
3034
3035         * gst/gstelement.h:
3036         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3037         by continue_state. Fixes #319389.
3038
3039         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3040         Really fixes #168438. However I don't see anywhere where the
3041         filter function is called... stupid GStreamer...
3042         
3043         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3044         don't have a dispose function, so it won't get called when the
3045         object is unreffed, but oh well!
3046
3047         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3048         allows a destroy function to be set so user_data can be freed.
3049         Fixes #168438.
3050         (gst_index_set_filter): Call gst_index_set_filter_full.
3051
3052         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3053
3054         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3055         string should produce an error, given the lack of a way to
3056         represent NULL strings. Fixes #165650.
3057         
3058         * gst/gstvalue.h: 
3059         * gst/gstvalue.c (gst_value_array_append_value) 
3060         (gst_value_array_prepend_value, gst_value_array_get_size) 
3061         (gst_value_array_get_value): New API, copied from
3062         gst_value_list_*, only operates on arrays.
3063         (gst_value_list_append_value, gst_value_list_prepend_value) 
3064         (gst_value_list_concat, gst_value_list_get_size) 
3065         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3066
3067         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3068         init_list, because it works on both.
3069         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3070         (gst_value_copy_list_or_array): Renamed from copy_list.
3071         (gst_value_free_list_or_array): Renamed from free_list.
3072         (gst_value_collect_list_or_array): Renamed from collect_list.
3073         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3074         (gst_value_list_or_array_peek_pointer): Renamed from
3075         list_peek_pointer.
3076         (_gst_value_array_value_table, _gst_value_list_value_table):
3077         Update value table functions.
3078         (gst_value_compare_list_or_array): Renamed from compare_list.
3079
3080         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3081         some constness.
3082
3083         * gst/gsttaglist.c:
3084         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3085         GstTagList*. Fixes #143472.
3086
3087         * gst/gststructure.h: Clarify what the foreach/map functions can
3088         or can't do to their arguments.
3089
3090 2005-11-18  Wim Taymans  <wim@fluendo.com>
3091
3092         * gst/gstclock.c: (gst_clock_set_calibration),
3093         (gst_clock_get_calibration):
3094         Doc and API fixes.
3095         Calibration can be set with internal time equal to current
3096         internal time too.
3097
3098 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3099
3100         * gst/gsterror.c:
3101         * gst/gsterror.h:
3102           document
3103
3104 2005-11-18  Andy Wingo  <wingo@pobox.com>
3105
3106         * configure.ac: 
3107         * pkgconfig/gstreamer-net.pc.in:
3108         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3109         * pkgconfig/Makefile.am: Add net pkgconfig files.
3110
3111 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3112
3113         * gst/gstcaps.c:
3114         * gst/gstghostpad.c:
3115         * gst/gsttrace.c:
3116         * gst/gstvalue.c:
3117         * gst/gstvalue.h:
3118           docs fixes
3119
3120 2005-11-18  Andy Wingo  <wingo@pobox.com>
3121
3122         * gst/net/gstnetclientclock.c: Turn off debugging.
3123
3124         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3125         times connverge somewhat. Can't make a real test.
3126
3127         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3128         integer arithmetic. Return the minimum of the domain, which can be
3129         set as "internal" for gst_clock_set_calibration.
3130         (gst_net_client_clock_observe_times): Call _set_calibration.
3131         (gst_net_client_clock_new): Call _set_calibration instead of
3132         rate_offset.
3133
3134         * check/net/gstnetclientclock.c (test_functioning): Use the right
3135         adjustment api.
3136
3137         * gst/gstclock.h:
3138         * gst/gstclock.c (gst_clock_get_calibration) 
3139         (gst_clock_set_calibration): New functions, obsolete the ones I
3140         added yesterday. Doh. Precision issues mean we have to extrapolate
3141         from a point in the more recent past than 1970.
3142         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3143         obsolete.
3144         (gst_clock_adjust_unlocked): Use the right calibration data.
3145
3146 2005-11-18  Edward Hervey  <edward@fluendo.com>
3147
3148         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3149         Also reset the ->current_* values in READY->PAUSED
3150
3151 2005-11-18  Andy Wingo  <wingo@pobox.com>
3152
3153         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3154         Whoops, check the right fd. Also add some debugging.
3155         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3156         (do_linear_regression): Add a crapload of debugging. Subtract off
3157         the minimum values from the input series to discard unneeded bits.
3158         Use only int arithmetic. There is still double arithmetic when
3159         calculating the intercept that needs fixing. Return boolean to
3160         indicate success; FALSE would mean the domain or range is too
3161         great. Still needs fixes.
3162
3163 2005-11-18  Wim Taymans  <wim@fluendo.com>
3164
3165         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3166         For the current position in stream time, we need to subtract
3167         accumulated time.
3168         
3169         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3170         Release lock before calling the callback function of async
3171         entries.
3172
3173 2005-11-18  Andy Wingo  <wingo@pobox.com>
3174
3175         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3176         Port goes all the way to MAXUINT16.
3177
3178         * gst/net/gstnettimeprovider.c: Make the port range the same as
3179         for the kernel: 0 assigns, otherwise ports are less than
3180         MAXUINT16.
3181
3182         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3183         port change.
3184
3185         * check/net/gstnetclientclock.c (test_functioning): Add the start
3186         of another test. 
3187
3188 2005-11-18  Wim Taymans  <wim@fluendo.com>
3189
3190         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3191         (gst_bin_remove_func), (bin_bus_handler):
3192         * gst/gstbin.h:
3193         Removing a clock provider from a bin, triggers a clock lost message
3194         so that a new clock will be selected.
3195         Adding a clock to a bin triggers a clock provider message.
3196         Make sure we reselect a clock when we received a clock lost message.
3197         Keep a reference to the element that provided the clock.
3198
3199 2005-11-18  Andy Wingo  <wingo@pobox.com>
3200
3201         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3202         the clock initially so it produces values around the base time.
3203         (gst_net_client_clock_class_init): Typo fix.
3204         (gst_net_client_clock_thread): Add note on when the socket gets
3205         closed.
3206
3207 2005-11-17  Wim Taymans  <wim@fluendo.com>
3208
3209         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3210         Free remote and local time arrays.
3211
3212 2005-11-17  Wim Taymans  <wim@fluendo.com>
3213
3214         * gst/net/gstnetclientclock.c: (do_linear_regression),
3215         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3216         Fix compilation, uninitialized vars and a forgotten continue.
3217
3218 2005-11-17  Andy Wingo  <wingo@pobox.com>
3219
3220         * check/Makefile.am (check_PROGRAMS): 
3221         * check/net/gstnetclientclock.c: Add a most minimal test for the
3222         net client clock. More to come later.
3223
3224         * gst/net/gstnet.h: 
3225         * gst/net/Makefile.am: Add netclientclock.
3226
3227         * gst/net/gstnetclientclock.h:
3228         * gst/net/gstnetclientclock.c: New files, implement an untested
3229         GstClock that takes its time from a network time provider.
3230         Implements the algorithm in network-clock.scm.
3231
3232         * tests/network-clock.scm (*window-size*): Rename from
3233         *queue-length*.
3234         * tests/network-clock.scm (network-time): 
3235         * tests/network-clock-utils.scm (q-push): Update callers.
3236
3237 2005-11-17  Wim Taymans  <wim@fluendo.com>
3238
3239         * gst/gstbin.c: (gst_bin_provide_clock_func),
3240         (gst_bin_sort_iterator_new):
3241         And unref the child too..
3242
3243 2005-11-17  Wim Taymans  <wim@fluendo.com>
3244
3245         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3246         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3247         Refactor the sort iterator so it can be used while holding the
3248         LOCK too.
3249         Make clock selection select a clock closest to the source.
3250
3251 2005-11-17  Michael Smith <msmith@fluendo.com>
3252
3253         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3254         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3255         * gst/gstclock.h:
3256           Anonymous structs are a gcc (and some other compilers) extension, so
3257           don't use them. Since this is only for ABI-compatibility, and our
3258           API/ABI freeze is over in a few days, this whole thing will only
3259           last a few days, so don't bother trying to think up a meaningful
3260           name for the struct.
3261
3262 2005-11-17  Andy Wingo  <wingo@pobox.com>
3263
3264         * gst/gstclock.h (GstClock): Add rate and offset properties,
3265         preserving ABI stability. Add rate/offset accessors. Will file bug
3266         for the freeze break.
3267
3268         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3269         and offset, trying to keep precision and avoiding
3270         underflow/overflow.
3271         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3272         functions. Make gst_clock_set_time_adjust obsolete.
3273         (gst_clock_set_time_adjust): Note that this function is obsolete.
3274         Will file bug soon.
3275
3276         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3277         greppable by using GST_PADDING-1+1.
3278
3279 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3280
3281         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3282
3283         * gst/gstmessage.c: (gst_message_parse_clock_lost):
3284           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
3285
3286         * gst/gstpadtemplate.h:
3287         * gst/gstpluginfeature.h:
3288           Don't use c++ style comments in headers (#321638).
3289
3290 2005-11-16  Andy Wingo  <wingo@pobox.com>
3291
3292         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
3293         buffer.
3294
3295         * check/net/gstnettimeprovider.c: Check to see that the time
3296         provider actually provides times. Works, yo!
3297
3298 2005-11-16  Wim Taymans  <wim@fluendo.com>
3299
3300         * check/Makefile.am:
3301         Enable more tests.
3302
3303         * check/elements/fakesrc.c: (GST_START_TEST):
3304         Set element to NULL before disposing it.
3305
3306 2005-11-16  Andy Wingo  <wingo@pobox.com>
3307
3308         * gst/net/Makefile.am:
3309         * gst/net/gstnet.h:
3310         * gst/net/gstnettimeprovider.c: 
3311         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
3312         provider, include it from gstnet.h, and add it to the build.
3313
3314         * gst/net/gstnettimepacket.h: 
3315         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
3316         sending and receiving.
3317
3318 2005-11-16  Wim Taymans  <wim@fluendo.com>
3319
3320         * check/Makefile.am:
3321         Enable valgrind check.
3322
3323         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
3324         (gst_fake_src_alloc_buffer):
3325         Fix memleak.
3326
3327 2005-11-16  Wim Taymans  <wim@fluendo.com>
3328
3329         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
3330         Call parent finalize too.
3331
3332 2005-11-16  Wim Taymans  <wim@fluendo.com>
3333
3334         * check/Makefile.am:
3335         Enable valgrind check that should work fine now.
3336
3337         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3338         * gst/gstqueue.c: (gst_queue_init):
3339         Fix memleaks in pad allocation.
3340
3341 2005-11-16  Andy Wingo  <wingo@pobox.com>
3342
3343         * gst/net/Makefile.am:
3344         * gst/net/gstnet.h: New part of core to hold network elements and
3345         objects. Put in core because it exposes API that applications want
3346         to use. The library is named libgstnet-tempname right now because
3347         of the existing libgstnet in gst-plugins-base. Solution is
3348         probably to rename the one in plugins-base; will file a bug for
3349         the freeze break.
3350
3351         * gst/net/gstnettimeprovider.c: 
3352         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
3353         get_time call over the network.
3354
3355         * configure.ac: 
3356         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
3357
3358         * check/Makefile.am:
3359         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
3360         get additions shortly.
3361
3362 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3363
3364         * gst/gstpad.c: (gst_pad_new_from_static_template):
3365         * gst/gstpad.h:
3366           add gst_pad_new_from_static_template functions
3367         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
3368         (gst_check_setup_sink_pad):
3369         * gst/elements/gsttee.c: (gst_tee_init):
3370           and use them
3371
3372 2005-11-16  Wim Taymans  <wim@fluendo.com>
3373
3374         * gst/gstpad.c: (gst_pad_pause_task):
3375         Removed warning, it's not really an error either.
3376
3377 2005-11-16  Wim Taymans  <wim@fluendo.com>
3378
3379         * gst/base/gstbasetransform.c:
3380         (gst_base_transform_prepare_output_buf),
3381         (gst_base_transform_event):
3382         Check if the caps are NULL, this can happen if the element
3383         is shutting down and the pad caps are set to NULL.
3384
3385 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3386
3387         * gst/elements/gsttee.c: (gst_tee_init):
3388           fix pad template leak in tee
3389
3390 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3391
3392         * gst/glib-compat.c: (g_value_dup_gst_object):
3393         * gst/glib-compat.h:
3394         * gst/gstpad.c: (gst_pad_set_property):
3395           use gst_object_ref when setting the pad template; this will
3396           trigger the pad template leaks on GLib 2.6 and the slaves
3397
3398 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3399
3400         * gst/glib-compat.c: (gst_flags_get_first_value):
3401         * gst/glib-compat.h:
3402         * gst/gstregistryxml.c:
3403           remove functions copied from GLib 2.6
3404
3405 2005-11-16  Michael Smith <msmith@fluendo.com>
3406
3407         * gst/Makefile.am:
3408           Don't link against VALGRIND_LIBS. That was always the wrong thing to
3409           do, but only breaks with newer valgrind versions. We're not a
3410           valgrind tool, we have no link-time dependencies on libcoregrind.
3411
3412 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3413
3414         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3415           some debug changes
3416         * gst/gstmessage.h:
3417           typo fixes
3418
3419 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3420
3421         * gst/base/gstbasesrc.c: (gst_base_src_init):
3422         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3423         * gst/gstqueue.c: (gst_queue_init):
3424         * gst/gstregistryxml.c: (load_feature):
3425           Revert all these unrefs, they don't even pass make check !
3426
3427 2005-11-15  Johan Dahlin  <johan@gnome.org>
3428
3429         * gst/base/gstbasesrc.c: (gst_base_src_init):
3430         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3431         * gst/gstqueue.c: (gst_queue_init): 
3432         Free pad templates, fixes a couple of leaks.
3433
3434 2005-11-15  Daniel Fischer  <dan at f3c dot com>
3435
3436         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3437
3438         * gst/gstpad.c: (gst_pad_get_property):
3439           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
3440           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
3441           (#321452)
3442
3443 2005-11-15  Wim Taymans  <wim@fluendo.com>
3444
3445         * gst/gstevent.c:
3446         Small doc update.
3447
3448 2005-11-15  Andy Wingo  <wingo@pobox.com>
3449
3450         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
3451
3452         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
3453         using GST_CLOCK_TIME_NONE to disable base time management.
3454         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
3455         time if it was NONE before.
3456         (gst_pipeline_change_state): Only munge the base time if
3457         stream_time != GST_CLOCK_TIME_NONE.
3458
3459         * check/gst/gstpipeline.c (test_base_time): Punt around the
3460         problem of the probe not being called, because that's not the
3461         issue I'm looking at. Add a check that setting stream_time to NONE
3462         disables base time management.
3463         
3464 2005-11-15  Wim Taymans  <wim@fluendo.com>
3465
3466         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
3467         segment_stop == -1 at startup.
3468
3469         * gst/base/gstbasetransform.c: (gst_base_transform_event),
3470         (gst_base_transform_change_state):
3471         Init segment values at start.
3472
3473 2005-11-15  Wim Taymans  <wim@fluendo.com>
3474
3475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3476         0 segment values are 0 in any format.
3477
3478         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3479         * gst/base/gstbasetransform.h:
3480         Parse newsegment correctly in basetransform
3481
3482         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3483         Sync to clock using updated segment values.
3484
3485 2005-11-15  Andy Wingo  <wingo@pobox.com>
3486
3487         * check/gst/gstpipeline.c (test_base_time): Add check that the
3488         base time and stream time are reset correctly.
3489
3490 2005-11-15  Wim Taymans  <wim@fluendo.com>
3491
3492         * docs/design/part-TODO.txt:
3493         Some more TODO items.
3494
3495 2005-11-15  Andy Wingo  <wingo@pobox.com>
3496
3497         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3498         error if the user selected "no clock" as the clocking method.
3499
3500         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3501         timestamps with live capture.
3502
3503         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3504         is 0 but we are a live source, timestamp the buffers using the
3505         element's clock.
3506
3507 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3508
3509         * docs/gst/gstreamer-sections.txt:
3510         * gst/gsterror.c:
3511         * gst/gstghostpad.c:
3512         * gst/gstobject.h:
3513         * gst/gstxml.c:
3514           more section docs
3515
3516 2005-11-14  Wim Taymans  <wim@fluendo.com>
3517
3518         * common/gst.supp:
3519           add suppressions from Wim's Debian machine
3520
3521 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3522
3523         * common/gst.supp:
3524           add suppressions from Andy's AMD64 Ubuntu machine
3525
3526 2005-11-14  Andy Wingo  <wingo@pobox.com>
3527
3528         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3529         STATE_LOCK not necessary. Fixes #311489.
3530
3531         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3532         #305291.
3533
3534         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3535         this function is not implemented.
3536
3537 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3538
3539         * gst/base/gstbasetransform.c:
3540         (gst_base_transform_prepare_output_buf):
3541         Ref the source pad caps while we need them.
3542         Fixes (#321386)
3543
3544 2005-11-11  Wim Taymans  <wim@fluendo.com>
3545
3546         * docs/gst/gstreamer-sections.txt:
3547         Added some docs for GstCollectData.
3548
3549         * gst/base/gstadapter.c:
3550         Some small code example fix.
3551
3552         * gst/base/gstcollectpads.c:
3553         * gst/base/gstcollectpads.h:
3554         Document some more.
3555
3556 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3557
3558         * configure.ac: back to HEAD
3559
3560 === release 0.9.5 ===
3561
3562 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3563
3564         * configure.ac:
3565           releasing 0.9.5, "Bike Lunch Day"
3566
3567 2005-11-11  Wim Taymans  <wim@fluendo.com>
3568
3569         * gst/gstbuffer.c: (_gst_buffer_copy):
3570         Copy more flags.
3571
3572         * gst/gstcaps.c: (gst_caps_is_equal):
3573         Fix some docs.
3574         Make _is_equal fast in the trivial cases.
3575
3576         * gst/gstminiobject.c:
3577         * gst/gstminiobject.h:
3578         More docs. Spifify .h file.
3579
3580         * gst/gstutils.c:
3581         Small doc update.
3582
3583 2005-11-11  Wim Taymans  <wim@fluendo.com>
3584
3585         * gst/base/gstbasetransform.c:
3586         (gst_base_transform_prepare_output_buf),
3587         (gst_base_transform_handle_buffer):
3588         Small cleanups.
3589         If we're processing a buffer and need to allocate an output
3590         buffer, we cannot accept a format change. If we did get a 
3591         format change, we have to alloc a buffer ourselves of the 
3592         right size.
3593
3594 2005-11-11  Wim Taymans  <wim@fluendo.com>
3595
3596         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3597         While checking the flag for reentrancy in the gstcaps function
3598         is nice to detect recursive invocations, it also makes it 
3599         impossible to call getcaps from multiple threads, which must be
3600         possible. So, checking for recursive calls has to go.
3601
3602 2005-11-11  Michael Smith <msmith@fluendo.com>
3603
3604         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3605           Don't sync on buffers that fall partially outside our current
3606           segment. Prevents an assertion failure/abort playing some files.
3607
3608 2005-11-10  Andy Wingo  <wingo@pobox.com>
3609
3610         * check/gst/gstbin.c (test_message_state_changed_children): Style
3611         fix..
3612
3613         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3614         gst_bus_poll with the signal watch. Ensures that poll and a signal
3615         watch see the same messages.
3616
3617         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3618         a poll and a watch at the same time get the same messages.
3619
3620 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3621
3622         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3623         * gst/gstcaps.c: (gst_caps_intersect):
3624           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3625           and it's not needed.
3626
3627 2005-11-10  Wim Taymans  <wim@fluendo.com>
3628
3629         * docs/design/part-TODO.txt:
3630         Updated todo.
3631
3632 2005-11-10  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3635         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3636         (gst_base_src_do_sync), (gst_base_src_get_range):
3637         Implement clock sync in base class.
3638
3639 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3640
3641         patch by: Tim-Philipp Müller <tim at centricular dot net>
3642
3643         * gst/gststructure.c: (gst_structure_parse_field),
3644         (gst_structure_from_string):
3645           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3646           so that gst_parse_launch() can deal with spaces in filtered link
3647           caps (fixes #164479)
3648         * check/gst/capslist.h:
3649         * check/gst/gststructure.c: (GST_START_TEST):
3650           add unit tests for this change
3651
3652 2005-11-10  Wim Taymans  <wim@fluendo.com>
3653
3654         * docs/gst/gstreamer-sections.txt:
3655         * gst/gstelement.c:
3656         * gst/gstelement.h:
3657         Fix docs, move some STATE macros to private.
3658
3659 2005-11-10  Wim Taymans  <wim@fluendo.com>
3660
3661         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3662         Added check for bug #317341
3663
3664         * gst/gstbuffer.c:
3665         * gst/gstbuffer.h:
3666         Some more spiffifying.
3667
3668         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3669         Call peer linkfunction if we are a source pad. Totally fixes
3670         #317341
3671
3672         * gst/gstpad.c:
3673         Update docs, source pads should call the peer linkfunction
3674         so they can atomically perform the pad link.
3675
3676 2005-11-09  Wim Taymans  <wim@fluendo.com>
3677
3678         * gst/gstbuffer.c:
3679         * gst/gstbuffer.h:
3680         Uber-spiffy-spiffify some more.
3681
3682 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3683
3684         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3685         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3686         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3687         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3688         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3689         * gst/gstpad.c: (gst_pad_init):
3690           Use GST_DEBUG_FUNCPTR() more extensively.
3691
3692 2005-11-09  Wim Taymans  <wim@fluendo.com>
3693
3694         * gst/gstobject.c: (gst_object_class_init):
3695         * gst/gstobject.h:
3696         Documentation fixes.
3697
3698 2005-11-09  Edward Hervey  <edward@fluendo.com>
3699
3700         * gst/gsttypefindfactory.c:
3701         Fix docs.
3702         
3703 2005-11-09  Edward Hervey  <edward@fluendo.com>
3704
3705         * gst/base/gsttypefindhelper.c:
3706         * gst/gsttypefind.c:
3707         * gst/gsttypefind.h:
3708         Fix docs.
3709
3710 2005-11-09  Wim Taymans  <wim@fluendo.com>
3711
3712         * gst/gstiterator.c:
3713         Fix revision data.
3714
3715         * gst/gsttask.c:
3716         * gst/gsttask.h:
3717         Fix docs.
3718
3719 2005-11-09  Wim Taymans  <wim@fluendo.com>
3720
3721         * gst/gstevent.h:
3722         * gst/gsturi.h:
3723         Fix docs.
3724
3725 2005-11-09  Wim Taymans  <wim@fluendo.com>
3726
3727         * docs/gst/gstreamer-sections.txt:
3728         Moved the message async delivery private lock and cond
3729         to the private section.
3730
3731         * gst/gstmessage.c:
3732         * gst/gstmessage.h:
3733         Fixed docs.
3734
3735 2005-11-09  Edward Hervey  <edward@fluendo.com>
3736
3737         * docs/gst/gstreamer-sections.txt:
3738         * gst/gsturi.c:
3739         * gst/gsturi.h:
3740         Document GstURIHandler
3741
3742 2005-11-09  Wim Taymans  <wim@fluendo.com>
3743
3744         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3745         (gst_iterator_find_custom):
3746         * gst/gstiterator.h:
3747         Fix iterator docs.
3748
3749 2005-11-09  Wim Taymans  <wim@fluendo.com>
3750
3751         * gst/gstbin.h:
3752         Document another field.
3753
3754         * gst/gststructure.c:
3755         * gst/gststructure.h:
3756         Document.
3757
3758 2005-11-09  Wim Taymans  <wim@fluendo.com>
3759
3760         * gst/gstbin.h:
3761         Documented structs.
3762
3763 2005-11-09  Wim Taymans  <wim@fluendo.com>
3764
3765         * docs/gst/gstreamer-sections.txt:
3766         Added some new macros.
3767
3768         * gst/gstclock.c:
3769         * gst/gstclock.h:
3770         * gst/gstobject.h:
3771         Docs updates.
3772
3773 2005-11-09  Wim Taymans  <wim@fluendo.com>
3774
3775         * docs/design/part-TODO.txt:
3776         Some more items for the TODO
3777
3778         * gst/gstcaps.c:
3779         * gst/gstcaps.h:
3780         Document GstCaps.
3781
3782 2005-11-09  Andy Wingo  <wingo@pobox.com>
3783
3784         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3785         to work on something else now tho...
3786
3787         * gst/base/gstadapter.c: More adapter docs.
3788
3789         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3790         (gst_file_sink_stop): New functions, replace the state change
3791         handler.
3792         (gst_file_sink_class_init): Hook up the start and stop functions.
3793         (gst_file_sink_base_init): Don't set the state change handler any
3794         more. It was a bit ugly too, being set from here...
3795         (gst_file_sink_get_property, gst_file_sink_set_property):
3796         Cleanups...
3797         (gst_file_sink_set_location): More robust check that doesn't call
3798         GST_STATE. Ugggggg.
3799
3800 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3801
3802         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3803           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3804
3805 2005-11-08  Wim Taymans  <wim@fluendo.com>
3806
3807         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3808         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3809         (gst_base_sink_chain), (gst_base_sink_change_state):
3810         * gst/base/gstbasesink.h:
3811         * gst/base/gstbasesrc.h:
3812         * gst/gstelement.h:
3813         * gst/gstevent.h:
3814         Avoid excessive typechecking in macros.
3815
3816         * gst/gstminiobject.c: (gst_mini_object_get_type),
3817         (gst_mini_object_init), (gst_mini_object_new),
3818         (gst_mini_object_free):
3819         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3820         (gst_object_finalize):
3821         Remove cruft code, optimize alloc_trace.
3822
3823 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3824
3825         * docs/faq/gst-uninstalled:
3826           fix up PS1 for systems that try to reset it
3827
3828 2005-11-07  Wim Taymans  <wim@fluendo.com>
3829
3830         * gst/base/gstbasesrc.c: (gst_base_src_init),
3831         (gst_base_src_get_range):
3832         Set the segment_end to -1 initially. Fixed typefind.
3833
3834 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3835
3836         * gst/base/gstadapter.c:
3837           Debug category should be 'adapter', not 'GstAdapter'.
3838           
3839         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3840         (gst_collectpads_class_init), (gst_collectpads_init),
3841         (gst_collectpads_peek), (gst_collectpads_pop),
3842         (gst_collectpads_event), (gst_collectpads_chain):
3843           Add debug category and some debugging output. Use boilerplate
3844           macros. Remove some extraneous words from docs.
3845
3846 2005-11-05  Andy Wingo  <wingo@pobox.com>
3847
3848         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3849         macro.
3850
3851 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3852
3853         * docs/gst/gstreamer-sections.txt:
3854         * gst/gstcaps.h:
3855         * gst/gstinfo.c:
3856         * gst/gstminiobject.h:
3857         * gst/gstobject.h:
3858         * gst/gstutils.h:
3859           more docs added
3860
3861 2005-11-04  Wim Taymans  <wim@fluendo.com>
3862
3863         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3864         Small update to stop at the configured segment_end
3865         position.
3866
3867 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3868
3869         * gst/gstregistry.c:
3870         * gst/gstregistry.h:
3871           added missing docs
3872
3873 2005-11-04  Edward Hervey  <edward@fluendo.com>
3874
3875         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3876         Check if we are doing a segment seek and have arrived at the
3877         end of that segment.
3878
3879 2005-11-04  Wim Taymans  <wim@fluendo.com>
3880
3881         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3882         Don't leak a mutex unlock in case of an error.
3883
3884         * gst/gstbus.h:
3885         Doc fixes.
3886
3887 2005-11-04  Wim Taymans  <wim@fluendo.com>
3888
3889         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3890         (gst_bus_post):
3891         Get the context to wake up only once.
3892
3893 2005-11-03  Wim Taymans  <wim@fluendo.com>
3894
3895         * check/states/sinks.c: (GST_START_TEST):
3896         Uncomment fixed check.
3897
3898         * docs/design/part-TODO.txt:
3899         Updated TODO.
3900
3901         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3902         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3903         (gst_base_sink_get_position):
3904         If we are going to PLAYING, post the right pending state
3905         when we post the intermediate paused message.
3906
3907         * gst/gstelement.c: (gst_element_continue_state),
3908         (gst_element_set_state_func), (gst_element_change_state):
3909         Don't post state changes that were between the same state
3910         and were not ASYNC.
3911
3912 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3913
3914         * docs/gst/gstreamer-sections.txt:
3915         * gst/gstcaps.h:
3916         * gst/gstinfo.c:
3917         * gst/gstminiobject.h:
3918         * gst/gstobject.h:
3919         * gst/gstutils.h:
3920           more docs and doc style fixes
3921
3922 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3923
3924         * docs/gst/gstreamer-sections.txt:
3925         * gst/gstelement.c:
3926         * gst/gstminiobject.c:
3927         doc fixes
3928
3929 2005-11-03  Andy Wingo  <wingo@pobox.com>
3930
3931         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3932         state-changed messages actually have the right order and the right
3933         values.
3934
3935 2005-11-03  Wim Taymans  <wim@fluendo.com>
3936
3937         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3938         Added some more checks. Specifically the case where NO_PREROLL
3939         elements are in the pipeline.
3940
3941         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3942         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3943         (gst_base_sink_get_position):
3944         Post READY->PAUSED state change messages too.
3945         Fix bug where VOID was posted as pending state...
3946
3947         * gst/gstbin.c: (gst_bin_recalc_state):
3948         use _element_continue_state() to continue the state change.
3949
3950         * gst/gstelement.c: (gst_element_continue_state),
3951         (gst_element_commit_state), (gst_element_set_state_func),
3952         (gst_element_change_state), (gst_element_change_state_func):
3953         Lots of state change cleanups, assign the STATE_RETURN in
3954         a new continue_state() function that also propagates the
3955         last return value from a state change to the app.
3956         Update some debug statements with proper category.
3957
3958 2005-11-03  Wim Taymans  <wim@fluendo.com>
3959
3960         * docs/design/part-events.txt:
3961         * docs/design/part-gstpipeline.txt:
3962         * docs/design/part-messages.txt:
3963         * docs/design/part-overview.txt:
3964         * docs/design/part-seeking.txt:
3965         * docs/design/part-states.txt:
3966         * docs/design/part-trickmodes.txt:
3967         * docs/manual/advanced-position.xml:
3968         Small docs updates.
3969
3970         * gst/gstobject.h:
3971         People think !! is ugly, this looks better.
3972
3973         * gst/gstpad.c: (gst_pad_set_blocked_async):
3974         Remove !! since it's fixed elsewhere now.
3975
3976 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3977
3978         * gst/gstminiobject.h:
3979         * gst/gstobject.h:
3980           Add !! to _FLAG_IS_SET macros to make the result boolean.
3981
3982 2005-11-03  Edward Hervey  <edward@fluendo.com>
3983
3984         * gst/gstpad.c: (gst_pad_set_blocked_async):
3985         comparing a flag and a gboolean rarely returns coherent results...
3986         Added two characters (!!) to make that work correctly.
3987         
3988 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3989
3990         * gst/gstbus.c: (gst_bus_class_init):
3991           Fix some typos.
3992           
3993         * gst/gstqueue.c: (gst_queue_loop):
3994           Don't assume a miniobject that isn't a buffer is an
3995           event (it could be that there is a refcounting
3996           problem somewhere and the pointer is stale and
3997           refers to an already destroyed miniobject).
3998
3999 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4000
4001         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4002
4003 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * docs/manual/advanced-position.xml:
4006           Update seek example and explanations to current 0.9 API.
4007
4008         * gst/elements/gsttypefindelement.c:
4009         (gst_type_find_element_activate):
4010           Remove FIXME comment now that the found caps
4011           are unreffed.
4012
4013 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4014
4015         * gst/gstregistryxml.c: (load_feature):
4016           Add another GST_STR_NULL instance
4017
4018 2005-11-02  Edward Hervey  <edward@fluendo.com>
4019
4020         * gst/gstpad.c: (handle_pad_block):
4021         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4022         
4023 2005-11-02  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/gstbin.c:
4026         Fix typo in docs.
4027
4028         * gst/gstelement.c: (gst_element_commit_state):
4029         Remove unused value.
4030
4031         * gst/gstiterator.c:
4032         Mention that the returned element is reffed in the docs.
4033
4034 2005-11-02  Wim Taymans  <wim@fluendo.com>
4035
4036         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4037         (gst_pad_push), (gst_pad_push_event):
4038         Unlock blocked pads when they are flushed.
4039
4040 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4041
4042         * docs/README:
4043         * docs/gst/gstreamer-sections.txt:
4044         * gst/gstbin.c:
4045           doc updates
4046         * gst/gstregistry.c: (gst_registry_scan_path_level):
4047           fix for a nasty little missed situation where an installed plug-in
4048           which was in the cache did not get overridden by an uninstalled one
4049           which was earlier in the plugin path because the newly created plugin
4050           for the uninstalled one (not in the registry) didn't get its
4051           ->registered set to TRUE
4052
4053 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4054
4055         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4056         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4057         (gst_collectpads_is_active), (gst_collectpads_collect),
4058         (gst_collectpads_collect_range), (gst_collectpads_start),
4059         (gst_collectpads_stop), (gst_collectpads_peek),
4060         (gst_collectpads_pop), (gst_collectpads_available),
4061         (gst_collectpads_read), (gst_collectpads_flush):
4062           Guard public API with assertions.
4063         
4064         * gst/gstpad.c:
4065           Fix docs for gst_pad_set_link_function().
4066
4067 2005-11-02  Johan Dahlin  <johan@gnome.org>
4068
4069         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4070         Unref found_caps after we used it.
4071
4072 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4073
4074         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4075           Don't try to ref NULL.
4076
4077 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4078
4079         * win32/common/config.h.in:
4080           provide a GST_FUNCTION that just gives a string for now
4081
4082 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4083
4084         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4085         (gst_object_flags_get_type), (register_gst_bin_flags),
4086         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4087         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4088         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4089         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4090         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4091         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4092         (gst_clock_flags_get_type), (register_gst_state),
4093         (gst_state_get_type), (register_gst_state_change_return),
4094         (gst_state_change_return_get_type), (register_gst_state_change),
4095         (gst_state_change_get_type), (register_gst_element_flags),
4096         (gst_element_flags_get_type), (register_gst_core_error),
4097         (gst_core_error_get_type), (register_gst_library_error),
4098         (gst_library_error_get_type), (register_gst_resource_error),
4099         (gst_resource_error_get_type), (register_gst_stream_error),
4100         (gst_stream_error_get_type), (register_gst_event_type),
4101         (gst_event_type_get_type), (register_gst_seek_type),
4102         (gst_seek_type_get_type), (register_gst_seek_flags),
4103         (gst_seek_flags_get_type), (register_gst_format),
4104         (gst_format_get_type), (register_gst_index_certainty),
4105         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4106         (gst_index_entry_type_get_type),
4107         (register_gst_index_lookup_method),
4108         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4109         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4110         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4111         (gst_index_flags_get_type), (register_gst_debug_level),
4112         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4113         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4114         (gst_iterator_result_get_type), (register_gst_iterator_item),
4115         (gst_iterator_item_get_type), (register_gst_message_type),
4116         (gst_message_type_get_type), (register_gst_mini_object_flags),
4117         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4118         (gst_pad_link_return_get_type), (register_gst_flow_return),
4119         (gst_flow_return_get_type), (register_gst_activate_mode),
4120         (gst_activate_mode_get_type), (register_gst_pad_direction),
4121         (gst_pad_direction_get_type), (register_gst_pad_flags),
4122         (gst_pad_flags_get_type), (register_gst_pad_presence),
4123         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4124         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4125         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4126         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4127         (gst_plugin_flags_get_type), (register_gst_rank),
4128         (gst_rank_get_type), (register_gst_query_type),
4129         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4130         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4131         (gst_tag_flag_get_type), (register_gst_task_state),
4132         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4133         (gst_alloc_trace_flags_get_type),
4134         (register_gst_type_find_probability),
4135         (gst_type_find_probability_get_type), (register_gst_uri_type),
4136         (gst_uri_type_get_type), (register_gst_parse_error),
4137         (gst_parse_error_get_type):
4138         * win32/common/gstversion.h:
4139           update win32 copies
4140
4141 2005-11-01  Luca Ognibene  <luogni@tin.it>
4142
4143         * gst/gst.c:
4144           fix docs. popt is dead, long live GOption.
4145
4146 2005-10-31  Wim Taymans  <wim@fluendo.com>
4147
4148         * gst/gstbuffer.h:
4149         Small doc fix.
4150
4151 2005-10-31  Andy Wingo  <wingo@pobox.com>
4152
4153         * Boo!
4154
4155         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4156
4157         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4158         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4159         the possibility of deadlocks here if code calling notify() or
4160         set() has a lock that can be taken in another notify handler (ABBA
4161         with class lock and e.g. python GIL state lock).
4162
4163 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4164
4165         * gst/gstbus.c: Doc updates.
4166
4167 2005-10-28  Wim Taymans  <wim@fluendo.com>
4168
4169         * docs/design/part-TODO.txt:
4170         * gst/gstiterator.c:
4171         * gst/gstsystemclock.c:
4172         * gst/gstsystemclock.h:
4173         Doc updates.
4174
4175 2005-10-28  Edward Hervey  <edward@fluendo.com>
4176
4177         * docs/gst/gstreamer-docs.sgml:
4178         * docs/gst/gstreamer-sections.txt:
4179         the GstURIType documentation page is private, it only defines GstURIType
4180         which should be defined in the GstURIHandler page
4181         
4182 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4183
4184         * gst/gstbin.c: (gst_bin_class_init):
4185         * gst/gstbin.h:
4186         * gst/gstutils.c:
4187         Documentation updates.
4188
4189 2005-10-28  Wim Taymans  <wim@fluendo.com>
4190
4191         * docs/gst/gstreamer-sections.txt:
4192         * gst/gstclock.c:
4193         * gst/gstclock.h:
4194         Documented the clocks.
4195
4196 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4197
4198         * docs/gst/gstreamer-sections.txt:
4199           move some macros to private sections
4200         * gst/gstminiobject.c:
4201         * gst/gstminiobject.h:
4202           add descriptions provided by ds and some more
4203         * gst/gstpad.h:
4204           mark macro as to be removed
4205
4206 2005-10-28  Wim Taymans  <wim@fluendo.com>
4207
4208         * docs/design/part-TODO.txt:
4209         Add an item to TODO.
4210
4211         * gst/gstiterator.c: (gst_iterator_fold),
4212         (gst_iterator_find_custom):
4213         * gst/gstiterator.h:
4214         Add iterator docs.
4215
4216 2005-10-28  Wim Taymans  <wim@fluendo.com>
4217
4218         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4219         (gst_base_transform_init):
4220         Don't leak class.
4221
4222         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4223         An EOS event marks the queue as completely filled.
4224
4225 2005-10-27  Wim Taymans  <wim@fluendo.com>
4226
4227         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4228         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4229         Some more debugging.
4230
4231         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4232         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4233         (gst_base_transform_event), (gst_base_transform_getrange),
4234         (gst_base_transform_chain):
4235         * gst/base/gstbasetransform.h:
4236         Fix debugging,
4237         Protect transform and concurrent buffer alloc with a new lock.
4238         Try not to break ABI/API.
4239
4240 2005-10-27  Wim Taymans  <wim@fluendo.com>
4241
4242         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4243         (gst_base_src_init), (gst_base_src_query),
4244         (gst_base_src_default_newsegment),
4245         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4246         (gst_base_src_send_event), (gst_base_src_event_handler),
4247         (gst_base_src_pad_get_range), (gst_base_src_loop),
4248         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4249         (gst_base_src_start), (gst_base_src_deactivate),
4250         (gst_base_src_activate_push), (gst_base_src_change_state):
4251         Move some stuff around and cleanup things.
4252
4253 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4254
4255         * gst/base/gstbasesrc.c: (gst_base_src_query):
4256           Add missing break statements.
4257
4258 2005-10-27  Wim Taymans  <wim@fluendo.com>
4259
4260         * check/gst/gstbin.c: (GST_START_TEST):
4261         An extra refcount is taken in basesrc.
4262
4263         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4264         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4265         (gst_base_src_loop):
4266         Small cleanups, check for flushing after being unlocked from the 
4267         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4268         Don't send out EOS when going to READY.
4269
4270 2005-10-27  Wim Taymans  <wim@fluendo.com>
4271
4272         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4273         (gst_base_sink_get_position):
4274         Some more debug.
4275
4276         * gst/gstbin.c: (message_check), (bin_replace_message),
4277         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4278         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4279         (bin_query_duration_init), (bin_query_duration_fold),
4280         (bin_query_duration_done), (bin_query_generic_fold),
4281         (gst_bin_query):
4282         * tools/gst-launch.c: (main):
4283         Remove old option.
4284
4285 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * examples/controller/audio-example.c: (main):
4288         * examples/queue/queue.c: (event_loop):
4289         * gst/base/gstbasetransform.h:
4290         * gst/gstelement.c: (gst_element_send_event):
4291         * gst/gstevent.h:
4292         * gst/gstpad.c: (gst_pad_send_event):
4293           fixing examples
4294           fixing docs typos
4295           changing log priority in error situations
4296
4297 2005-10-25  Wim Taymans  <wim@fluendo.com>
4298
4299         * gst/gstbin.c: (message_check), (bin_replace_message),
4300         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4301         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4302         (bin_query_duration_init), (bin_query_duration_fold),
4303         (bin_query_duration_done), (bin_query_generic_fold),
4304         (gst_bin_query):
4305         Some doc and debug updates.
4306         Cache previously requested query DURATION for speed. invalidate
4307         cached duration if element posts a DURATION message.
4308
4309 2005-10-25  Wim Taymans  <wim@fluendo.com>
4310
4311         * docs/design/part-TODO.txt:
4312         Update TODO.
4313
4314         * gst/gstbin.c: (message_check), (bin_replace_message),
4315         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4316         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4317         (bin_query_duration_init), (bin_query_duration_fold),
4318         (bin_query_duration_done), (bin_query_generic_fold),
4319         (gst_bin_query):
4320         Handle SEGMENT_START/DONE messages correctly.
4321         More evolved query algorithm that handles duration queries
4322         correctly.
4323
4324         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
4325         (gst_element_get_state_func), (gst_element_abort_state),
4326         (gst_element_commit_state), (gst_element_lost_state):
4327         Some more debugging.
4328
4329         * gst/gstmessage.h:
4330         Added doc.
4331
4332 2005-10-25  Wim Taymans  <wim@fluendo.com>
4333
4334         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4335         Don't use invalid stream_time.
4336
4337         * gst/gstevent.c: (gst_event_new_newsegment):
4338         stream_time in newsegment cannot be undefined.
4339
4340 2005-10-24  Wim Taymans  <wim@fluendo.com>
4341
4342         * gst/gstbus.c:
4343         Doc fix.
4344
4345         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
4346         (gst_queue_loop):
4347         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
4348
4349 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
4350
4351         * docs/libs/tmpl/gstdparam.sgml:
4352         * docs/libs/tmpl/gstdplinint.sgml:
4353         * docs/libs/tmpl/gstdpman.sgml:
4354         * docs/libs/tmpl/gstdpsmooth.sgml:
4355         * docs/libs/tmpl/gstunitconvert.sgml:
4356           these are obsolete
4357
4358 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4359
4360         * configure.ac:
4361           back to HEAD
4362
4363 === release 0.9.4 ===
4364
4365 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4366
4367         * configure.ac:
4368           releasing 0.9.4, "Tyrannosaurus Rex"
4369
4370 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
4371
4372         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4373         (gst_file_sink_get_current_offset):
4374           Use fseeko() and ftello() if available. When falling back on
4375           lseek() to get the current offset, fflush() first to make sure
4376           everything is up-to-date and we get the right offset.
4377
4378 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4379
4380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4381         * gst/base/gstbasesrc.c: (gst_base_src_loop):
4382         * gst/gsterror.c: (_gst_stream_errors_init):
4383         * gst/gsterror.h:
4384         * gst/gstqueue.c: (gst_queue_loop):
4385         * po/POTFILES.in:
4386           remove prematurely added error category and clean up the instances
4387
4388 2005-10-21  Wim Taymans  <wim@fluendo.com>
4389
4390         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4391         (gst_base_sink_get_position), (gst_base_sink_query),
4392         (gst_base_sink_change_state):
4393         Simply set the right flag when going to playing, that's all
4394         we need to do instead of calling a function inside the object
4395         lock (that could take the lock as well and deadlock)
4396
4397 2005-10-21  Wim Taymans  <wim@fluendo.com>
4398
4399         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
4400         (gst_base_src_loop):
4401         Don't warn, the peer element knows what to do best when
4402         the seek failed, it might try something else.
4403
4404 2005-10-21  Wim Taymans  <wim@fluendo.com>
4405
4406         * gst/base/gstbasesrc.c: (gst_base_src_init),
4407         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
4408         Fix seeking.
4409
4410 2005-10-21  Wim Taymans  <wim@fluendo.com>
4411
4412         * docs/design/part-segments.txt:
4413         More docs.
4414
4415         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4416         Correctly set caps, even on the subbufer.
4417
4418 2005-10-21  Wim Taymans  <wim@fluendo.com>
4419
4420         * docs/gst/gstreamer-docs.sgml:
4421         * docs/gst/gstreamer-sections.txt:
4422         * gst/gstelement.h:
4423         * gst/gstevent.c:
4424         * gst/gstevent.h:
4425         * gst/gstmessage.h:
4426         * gst/gstpad.h:
4427         * gst/gstparse.h:
4428         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
4429         * gst/gsttask.h:
4430         * gst/gstutils.c:
4431         * gst/gstutils.h:
4432         And 2% more doc coverage.
4433
4434 2005-10-21  Andy Wingo  <wingo@pobox.com>
4435
4436         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
4437         position reporting.
4438
4439 2005-10-20  Wim Taymans  <wim@fluendo.com>
4440
4441         * gst/gsterror.c: (gst_error_get_message):
4442         * gst/gstparse.h:
4443         * gst/gstquery.h:
4444         * gst/gststructure.c:
4445         * gst/gsttrace.c:
4446         * gst/gstutils.c:
4447         More docs.
4448
4449 2005-10-20  Wim Taymans  <wim@fluendo.com>
4450
4451         * gst/gstbuffer.h:
4452         * gst/gstpad.c:
4453         * gst/gstparse.c:
4454         Another 1% more coverage.
4455
4456 2005-10-20  Wim Taymans  <wim@fluendo.com>
4457
4458         * docs/gst/gstreamer-sections.txt:
4459         * gst/gstelement.c: (gst_element_get_state_func),
4460         (gst_element_abort_state), (gst_element_commit_state),
4461         (gst_element_lost_state):
4462         * gst/gstevent.h:
4463         * gst/gstquery.c: (gst_query_set_position),
4464         (gst_query_parse_position), (gst_query_set_duration),
4465         (gst_query_parse_duration), (gst_query_new_convert):
4466         * gst/gstutils.c:
4467         Yay! 1% more docs coverage.
4468
4469 2005-10-20  Wim Taymans  <wim@fluendo.com>
4470
4471         * gst/gstpad.h:
4472         * gst/gstquery.c: (gst_query_set_position),
4473         (gst_query_parse_position), (gst_query_set_duration),
4474         (gst_query_parse_duration), (gst_query_new_convert):
4475         * gst/gstquery.h:
4476         * gst/gstutils.c: (gst_element_query_convert):
4477         * gst/gstutils.h:
4478         Docs and consistency fixes.
4479
4480 2005-10-20  Wim Taymans  <wim@fluendo.com>
4481
4482         * gst/gsttask.c:
4483         * gst/gsttask.h:
4484         More docs.
4485
4486 2005-10-20  Wim Taymans  <wim@fluendo.com>
4487
4488         * gst/gstbin.c: (message_check), (bin_replace_message),
4489         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4490         (update_degree), (gst_bin_sort_iterator_next),
4491         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4492         Reworked the message handling a bit, cache the messages instead of
4493         only the senders. alows us to do more in the future.
4494
4495 2005-10-20  Wim Taymans  <wim@fluendo.com>
4496
4497         * docs/design/part-TODO.txt:
4498         Update TODO
4499
4500         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4501         (gst_base_sink_query):
4502         Don't use clock time to report position when in EOS.
4503
4504 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4505
4506         * tools/gst-inspect.c: (print_interfaces),
4507         (print_element_properties_info), (print_element_info):
4508           Fix interface output with gst-inspect -a; don't print
4509           newlines after double/float properties.
4510
4511 2005-10-20  Wim Taymans  <wim@fluendo.com>
4512
4513         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4514         (gst_base_sink_query):
4515         Speed up current position calculation.
4516
4517         * gst/base/gstbasesrc.c: (gst_base_src_query),
4518         (gst_base_src_default_newsegment):
4519         Correctly set stream position in newsegment.
4520
4521         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4522         (update_degree), (gst_bin_sort_iterator_next),
4523         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4524         * gst/gstmessage.c: (gst_message_new_custom):
4525         Clean up debugging info
4526
4527         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4528         (gst_queue_loop), (gst_queue_handle_src_query):
4529         Pause task faster.
4530
4531 2005-10-19  Wim Taymans  <wim@fluendo.com>
4532
4533         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4534         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4535         Fix query handling again.
4536
4537 2005-10-19  Wim Taymans  <wim@fluendo.com>
4538
4539         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4540         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4541         * gst/base/gstbasesrc.c: (gst_base_src_query):
4542         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4543         * gst/elements/gsttypefindelement.c:
4544         (gst_type_find_handle_src_query), (find_element_get_length),
4545         (gst_type_find_element_activate):
4546         API change fix.
4547
4548         * gst/gstquery.c: (gst_query_new_position),
4549         (gst_query_set_position), (gst_query_parse_position),
4550         (gst_query_new_duration), (gst_query_set_duration),
4551         (gst_query_parse_duration), (gst_query_set_segment),
4552         (gst_query_parse_segment):
4553         * gst/gstquery.h:
4554         Bundling query position/duration is not a good idea since duration
4555         does not change much and we don't want to recalculate it for every
4556         position query, so they are separated again..
4557         Base value in segment query is not needed.
4558
4559         * gst/gstqueue.c: (gst_queue_handle_src_query):
4560         * gst/gstutils.c: (gst_element_query_position),
4561         (gst_element_query_duration), (gst_pad_query_position),
4562         (gst_pad_query_duration):
4563         * gst/gstutils.h:
4564         Updates for query API change.
4565         Added some docs here and there.
4566
4567 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4568
4569         * check/gst/gstbin.c: (GST_START_TEST):
4570         * check/gst/gstghostpad.c: (GST_START_TEST):
4571         * check/pipelines/cleanup.c: (GST_START_TEST):
4572           wait on thread to die so we can check refcount correctly
4573
4574 2005-10-18  Wim Taymans  <wim@fluendo.com>
4575
4576         * check/pipelines/stress.c: (GST_START_TEST):
4577         Make check a little more time consuming.
4578
4579 2005-10-18  Wim Taymans  <wim@fluendo.com>
4580
4581         * check/Makefile.am:
4582         * check/pipelines/stress.c: (GST_START_TEST),
4583         (simple_launch_lines_suite), (main):
4584         Small state change torture test.
4585
4586         * docs/design/part-states.txt:
4587         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4588         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4589         (gst_base_sink_change_state):
4590         Never take state lock from streaming thread, clean up ugly
4591         hacks. Unfortunatly core does not yet support nice ways to
4592         async commit state.
4593         
4594         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4595         (bin_bus_handler):
4596         Start state recalc if a STATE_DIRTY message is posted, but only
4597         on the toplevel bin.
4598
4599         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4600         (gst_element_get_state_func), (gst_element_abort_state),
4601         (gst_element_commit_state), (gst_element_lost_state),
4602         (gst_element_set_state_func), (gst_element_change_state):
4603         * gst/gstelement.h:
4604         State variables are now protected with the LOCK, the state
4605         lock is only used to serialize _set_state().
4606
4607 2005-10-18  Wim Taymans  <wim@fluendo.com>
4608
4609         * check/gst/gstbin.c: (GST_START_TEST):
4610         * check/gst/gstmessage.c: (GST_START_TEST):
4611         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4612         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4613         (bin_bus_handler):
4614         * gst/gstelement.c: (gst_element_abort_state),
4615         (gst_element_commit_state), (gst_element_lost_state):
4616         * gst/gstmessage.c: (gst_message_new_state_changed),
4617         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4618         (gst_message_new_segment_done), (gst_message_new_duration),
4619         (gst_message_parse_state_changed),
4620         (gst_message_parse_segment_start),
4621         (gst_message_parse_segment_done), (gst_message_parse_duration):
4622         * gst/gstmessage.h:
4623         * tools/gst-launch.c: (event_loop):
4624         Seriously, this is better than a previous commit as we only need
4625         to notify the fact that an element changed state in a streaming
4626         thread, marking the state of the parents dirty, hence the 
4627         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4628         message.
4629
4630 2005-10-18  Wim Taymans  <wim@fluendo.com>
4631
4632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4633         (gst_bin_recalc_func):
4634         * gst/gstelement.c: (gst_element_set_clock),
4635         (gst_element_abort_state), (gst_element_lost_state):
4636         Cleanups, prepare for state change fixes.
4637
4638 2005-10-18  Wim Taymans  <wim@fluendo.com>
4639
4640         * gst/gstbin.h:
4641         * gst/gstelement.c: (gst_element_class_init),
4642         (gst_element_set_state), (gst_element_set_state_func):
4643         * gst/gstelement.h:
4644         Pending ABI changes.
4645         GThreadPool in GstBinClass to monitor async state changes.
4646         state_cookie in GstElement to detect concurrent gst/set state.
4647         set_state is now virtual too in case a very complicated element
4648         has to be constructed.
4649
4650 2005-10-18  Wim Taymans  <wim@fluendo.com>
4651
4652         * check/gst/gstbin.c: (GST_START_TEST):
4653         * check/gst/gstmessage.c: (GST_START_TEST):
4654         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4655         * gst/gstbin.c: (bin_bus_handler):
4656         * gst/gstelement.c: (gst_element_commit_state),
4657         (gst_element_lost_state):
4658         * gst/gstmessage.c: (gst_message_new_state_changed),
4659         (gst_message_new_segment_start), (gst_message_new_segment_done),
4660         (gst_message_new_duration), (gst_message_parse_state_changed),
4661         (gst_message_parse_segment_start),
4662         (gst_message_parse_segment_done), (gst_message_parse_duration):
4663         * gst/gstmessage.h:
4664         * tools/gst-launch.c: (event_loop):
4665         Make messages future proof.
4666         state-change gets a flag if it was a message comming from the
4667         streaming thread.
4668         segment-start/stop can also be specified in other formats.
4669         A message to notify an app that a pipeline changed playback 
4670         duration.
4671         Also fix a GstMessage leak in -launch
4672
4673 2005-10-18  Andy Wingo  <wingo@pobox.com>
4674
4675         * gst/gstelement.c (gst_element_dispose): More helpful message.
4676
4677 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4678
4679         reviewed by: <delete if not using a buddy>
4680
4681         * common/gtk-doc.mak:
4682
4683 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4684
4685         * gst/gstregistry.c: (gst_registry_scan_path_level):
4686           unref a plug-in we get that was already initialized
4687
4688 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4689
4690         * docs/gst/gstreamer-sections.txt:
4691         * docs/libs/gstreamer-libs-sections.txt:
4692         * gst/gstelement.h:
4693           add new api entries
4694           hide internal macro
4695
4696 2005-10-17  Andy Wingo  <wingo@pobox.com>
4697
4698         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4699         cleanup.
4700
4701         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4702
4703         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4704
4705         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4706         (gst_element_get_state_func): Better debug message.
4707         (gst_element_commit_state): s/INFO/DEBUG/.
4708         (gst_element_lost_state, gst_element_change_state): 
4709
4710         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4711         (gst_message_new_custom): s/INFO/LOG/.
4712
4713 2005-10-17  Michael Smith <msmith@fluendo.com>
4714
4715         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4716           Check if end time is valid using end time, not start time.
4717
4718 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4719
4720         * check/gst-libs/controller.c: (GST_START_TEST),
4721         (gst_controller_suite):
4722         * libs/gst/controller/gstcontroller.c:
4723         (gst_controlled_property_set_interpolation_mode):
4724         * libs/gst/controller/gstcontroller.h:
4725         * libs/gst/controller/gstinterpolation.c:
4726         * testsuite/controller/.cvsignore:
4727         * testsuite/controller/Makefile.am:
4728         * testsuite/controller/interpolator.c:
4729           merge controller testsuites
4730           fix broken tests
4731           remove mem-chunk from docs
4732
4733 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4734
4735         * gst/gstmemchunk.c:
4736         * gst/gstmemchunk.h:
4737         * gst/gsttrashstack.c:
4738         * gst/gsttrashstack.h:
4739           out.  get out.  you're fired.  to the Attic !
4740
4741 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4742
4743         * gst/gstcaps.c: (gst_caps_intersect):
4744           fix signedness issues in a (hopefully) correct way
4745         * gst/gstelement.c: (gst_element_pads_activate):
4746           some debugging
4747         * gst/gstobject.c: (gst_object_set_parent):
4748           some debugging
4749
4750 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4751
4752         * gst/gstvalue.h: Fix prototypes.
4753
4754 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4755
4756         * docs/gst/gstreamer-sections.txt:
4757         * gst/gst.c: (gst_version_string):
4758         * gst/gst.h:
4759         * gst/gstversion.h.in:
4760         * win32/common/libgstreamer.def:
4761           add gst_version_string ()
4762
4763 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4764
4765         * configure.ac:
4766           clean up further
4767         * gst/gst.c: (init_post):
4768         * win32/common/config.h.in:
4769           it's PLUGINDIR now
4770         * gst/gstcaps.c: (gst_caps_intersect):
4771           use gint64, the range could be bigger than a guint
4772
4773 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4774
4775         * gst/gstclock.h:
4776           document potential problem in 2038
4777
4778 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4779
4780         * gst/gstcaps.c: (gst_caps_intersect):
4781           Fix guint j diving under 0
4782
4783 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4784
4785         * configure.ac:
4786         * win32/common/config.h:
4787         * win32/common/config.h.in:
4788           check for process.h, declares getpid() on Windows
4789         * gst/gstinfo.c:
4790           include process.h if we have it
4791         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4792         * gst/gstmemchunk.h:
4793           fix signedness issues
4794         * win32/common/libgstreamer.def:
4795           fix get_type's
4796
4797 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4798
4799         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4800         fix. Because of unsigned ints, caps intersection was going nuts and
4801         trying to access structures with G_MAXUINT index. That fixes
4802         videotestsrc ! ffmpegcolorspace ! fakesink
4803         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4804         consistency.
4805
4806 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4807
4808         * configure.ac:
4809           use the gettext macro
4810         * gst/elements/gstelements.c:
4811         * gst/gst.c:
4812         * gst/indexers/gstindexers.c:
4813           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4814         * win32/common/config.h:
4815           updated config.h
4816         * win32/common/config.h.in:
4817           add the template to generate config.h
4818         * win32/common/gstenumtypes.c:
4819         * win32/common/gstversion.h:
4820           updated copies
4821
4822 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4823
4824         * gst/gst.c: (gst_version):
4825         * gst/gstversion.h.in:
4826           add the nano
4827
4828 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4829
4830         * gst/gstevent.h:
4831           Oops, add missing closing bracket.
4832
4833 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4834
4835         * configure.ac:
4836           use common m4's for argument checking
4837
4838 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4839
4840         * docs/gst/gstreamer-sections.txt:
4841         * gst/gstevent.h:
4842           Add GST_EVENT_TYPE_NAME() macro.
4843
4844 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4845
4846         * gst/gstinfo.c:
4847         * gst/gstpluginfeature.c:
4848         * gst/gsttask.c:
4849           privatize more symbols
4850
4851 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4852
4853         * configure.ac:
4854           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4855           everything that uses GStreamer API should have the includes
4856
4857 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4858
4859         * docs/gst/gstreamer-sections.txt:
4860         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4861         * gst/gstvalue.h:
4862           give each value a _get_type, removes the DATA exports
4863
4864 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         * gst/gst.c:
4867         * gst/gst.h:
4868           remove _gst_registry_auto_load, not used anymore
4869         * gst/gstbin.c: (gst_bin_get_type):
4870         * gst/gstbin.h:
4871         * gst/gstelement.c: (gst_element_get_type):
4872         * gst/gstelement.h:
4873         * gst/gstobject.c: (gst_object_get_type):
4874         * gst/gstobject.h:
4875         * gst/gstpad.c: (gst_pad_get_type):
4876         * gst/gstpad.h:
4877           make _get_type functions similar, fixes data export from library
4878
4879 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4880
4881         * configure.ac:
4882           correctly make conditionals
4883         * gst/elements/Makefile.am:
4884         * gst/elements/gstelements.c:
4885           fix typo causing fdsrc not to build
4886
4887 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4888
4889         * testsuite/Makefile.am:
4890         * testsuite/bytestream/.cvsignore:
4891         * testsuite/bytestream/Makefile.am:
4892         * testsuite/bytestream/filepadsink.c:
4893         * testsuite/bytestream/gstbstest.c:
4894         * testsuite/bytestream/test1.c:
4895         * testsuite/bytestream/testfile1:
4896         * testsuite/caps/normalisation.c:
4897         * testsuite/caps/random.c: (main):
4898         * testsuite/cleanup/.cvsignore:
4899         * testsuite/cleanup/Makefile.am:
4900         * testsuite/cleanup/cleanup1.c:
4901         * testsuite/cleanup/cleanup2.c:
4902         * testsuite/cleanup/cleanup3.c:
4903         * testsuite/cleanup/cleanup4.c:
4904         * testsuite/cleanup/cleanup5.c:
4905         * testsuite/controller/interpolator.c:
4906         * testsuite/debug/printf_extension.c: (main):
4907         * testsuite/elements/tee.c:
4908         * testsuite/negotiation/.cvsignore:
4909         * testsuite/negotiation/Makefile.am:
4910         * testsuite/negotiation/pad_link.c:
4911         * testsuite/pad/Makefile.am:
4912         * testsuite/pad/chainnopull.c:
4913         * testsuite/pad/getnopush.c:
4914         * testsuite/pad/link.c:
4915         * testsuite/refcounting/sched.c: (create_pipeline):
4916         * testsuite/registry/Makefile.am:
4917         * testsuite/registry/gst-print-formats.c:
4918         * testsuite/schedulers/.cvsignore:
4919         * testsuite/schedulers/142183-2.c:
4920         * testsuite/schedulers/142183.c:
4921         * testsuite/schedulers/143777-2.c:
4922         * testsuite/schedulers/143777.c:
4923         * testsuite/schedulers/147713.c:
4924         * testsuite/schedulers/147819.c:
4925         * testsuite/schedulers/147894-2.c:
4926         * testsuite/schedulers/147894.c:
4927         * testsuite/schedulers/Makefile.am:
4928         * testsuite/schedulers/group_link.c:
4929         * testsuite/schedulers/queue_link.c:
4930         * testsuite/schedulers/relink.c:
4931         * testsuite/schedulers/unlink.c:
4932         * testsuite/schedulers/unref.c:
4933         * testsuite/schedulers/useless_iteration.c:
4934         * testsuite/states/bin.c:
4935           clean out/remove some stuff from the testsuite directories
4936
4937 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4938
4939         * configure.ac:
4940           check for some headers
4941         * gst/elements/Makefile.am:
4942         * gst/elements/gstelements.c:
4943           don't compile fdsrc without sys/socket.h
4944         * gst/indexers/Makefile.am:
4945         * gst/indexers/gstindexers.c: (plugin_init):
4946           don't compile fileindex without mmap
4947
4948 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4949
4950         * configure.ac:
4951           reorganize
4952           clean up
4953           document more
4954           remove cruft
4955         * check/Makefile.am:
4956         * docs/gst/Makefile.am:
4957         * examples/helloworld/Makefile.am:
4958         * gst/Makefile.am:
4959         * gst/base/Makefile.am:
4960         * gst/check/Makefile.am:
4961         * gst/elements/Makefile.am:
4962         * gst/indexers/Makefile.am:
4963         * gst/parse/Makefile.am:
4964         * libs/gst/controller/Makefile.am:
4965         * libs/gst/dataprotocol/Makefile.am:
4966         * examples/helloworld/helloworld.c: (event_loop):
4967           compile fixes, though it's not being compiled currently
4968
4969 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4970
4971         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4972           Add some simple tests for the new taglist date API.
4973
4974 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4975
4976         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4977         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4978           Beautify 'last-message' output: print 'none' for buffer timestamps
4979           and durations if none is set; improve alignment with next messages.
4980
4981 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4982
4983         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4984         * gst/gstpluginfeature.h:
4985         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4986         * gst/gstregistry.h:
4987         * docs/gst/gstreamer-sections.txt:
4988           Add new API to check plugin feature version requirements.
4989
4990         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4991           Some basic tests for the above.         
4992
4993 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4994
4995         * gst/gststructure.c: (gst_structure_to_string):
4996           guard against NULL printf - happens when for example
4997           a message structure with GstClock gets serialized
4998
4999 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5000
5001         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5002           Fix presumable copy'n'pasto.
5003
5004 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5005
5006         * gst/elements/gstfakesrc.h:
5007         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5008         * gst/elements/gsttypefindelement.c:
5009           fix some signedness
5010         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5011           I wonder if this could actually write +2GB files before
5012
5013 2005-10-13  Andy Wingo  <wingo@pobox.com>
5014
5015         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5016         Fix Timmeke Waymans bug.
5017         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5018         string of the proper length to gst_caps_from_string. There's a
5019         potential for, before this fix, that this could cause someone
5020         connecting over the network to cause a segfault if the payload is
5021         not NUL-terminated.
5022
5023 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5024
5025         * docs/design/draft-push-pull.txt:
5026         * docs/design/part-overview.txt:
5027         * docs/random/TODO-pre-0.9:
5028         * docs/random/old/ChangeLog.gstreamer:
5029         * gst/base/gstpushsrc.c:
5030         * gst/gstclock.c:
5031           fixed typos
5032
5033 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5034
5035         * gst/glib-compat.c: (gst_flags_get_first_value):
5036         * gst/glib-compat.h:
5037         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5038         (gst_value_compare_double), (gst_value_serialize_flags):
5039           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5040           infinite loop
5041
5042 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5043
5044         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5045         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5046           fix up debugging
5047         * tools/gst-launch.c: (event_loop):
5048           print out clock nicely
5049
5050 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5051
5052         * docs/gst/gstreamer-sections.txt:
5053         * gst/gsttaglist.h:
5054         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5055         (gst_tag_list_get_date_index):
5056           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5057           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5058
5059 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5060
5061         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5062         (gst_collectpads_chain):
5063         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5064         in CollectData.
5065
5066 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5067
5068         * docs/gst/gstreamer-sections.txt:
5069         * gst/gst.c:
5070         * gst/gsterror.h:
5071         * tools/gst-inspect.c: (main):
5072         * tools/gst-launch.c: (main):
5073         * tools/gst-run.c: (main):
5074         * tools/gst-xmlinspect.c: (main):
5075           fix GOption context leaks
5076           doc fixes
5077
5078 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5079
5080         * gst/gstbus.c:
5081           use HAVE_UNISTD_H
5082         * win32/common/config.h:
5083           update config
5084         * win32/vs6/grammar.dsp:
5085         * win32/vs6/libgstelements.dsp:
5086         * win32/vs6/libgstreamer.dsp:
5087           update vs6 files
5088
5089 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5092         * gst/base/gstbasesrc.c: (gst_base_src_query):
5093           fix more guint64<->gdouble conversions
5094
5095 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * Makefile.am:
5098           add win32-update target
5099         * win32/common/gstconfig.h:
5100         * win32/common/gstenumtypes.c:
5101         * win32/common/gstenumtypes.h:
5102         * win32/common/gstversion.h:
5103           add files that visual studio can't generate
5104
5105 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5106
5107         * Makefile.am:
5108           add a win32-update target
5109         * configure.ac:
5110
5111 2005-10-12  Wim Taymans  <wim@fluendo.com>
5112
5113         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5114         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5115         * gst/gstelement.c: (gst_element_commit_state),
5116         (gst_element_set_state):
5117         Protect flags with proper lock.
5118         unref provided cached clock in dispose.
5119
5120 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5121
5122         * gst/gst.c:
5123         * gst/gstminiobject.h:
5124         * gst/gstpad.h:
5125         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5126           removed unused flags from miniobject
5127           doc fixes
5128
5129 2005-10-12  Wim Taymans  <wim@fluendo.com>
5130
5131         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5132         (gst_file_sink_event), (gst_file_sink_render):
5133         Flush before seeking.
5134
5135 2005-10-12  Andy Wingo  <wingo@pobox.com>
5136
5137         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5138         always been the case.
5139
5140 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5141
5142         * check/gst/gstbin.c: (GST_START_TEST):
5143         * docs/gst/gstreamer-sections.txt:
5144         * gst/base/gstbasesink.c: (gst_base_sink_init):
5145         * gst/base/gstbasesrc.c: (gst_base_src_init),
5146         (gst_base_src_get_range), (gst_base_src_check_get_range),
5147         (gst_base_src_start), (gst_base_src_stop):
5148         * gst/base/gstbasesrc.h:
5149         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5150         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5151         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5152         (bin_bus_handler):
5153         * gst/gstbin.h:
5154         * gst/gstbuffer.h:
5155         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5156         * gst/gstbus.h:
5157         * gst/gstelement.c: (gst_element_is_locked_state),
5158         (gst_element_set_locked_state), (gst_element_commit_state),
5159         (gst_element_set_state):
5160         * gst/gstelement.h:
5161         * gst/gstindex.c: (gst_index_init):
5162         * gst/gstindex.h:
5163         * gst/gstminiobject.h:
5164         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5165         (gst_object_set_parent):
5166         * gst/gstobject.h:
5167         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5168         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5169         * gst/gstpad.h:
5170         * gst/gstpadtemplate.h:
5171         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5172         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5173         * gst/gstpipeline.h:
5174         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5175         (gst_file_index_commit):
5176         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5177         * testsuite/pad/link.c: (gst_test_src_init),
5178         (gst_test_filter_init), (gst_test_sink_init):
5179         * testsuite/states/locked.c: (main):
5180           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5181           moved bitshift from macro to enum definition
5182
5183 2005-10-12  Wim Taymans  <wim@fluendo.com>
5184
5185         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5186         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5187         (gst_file_sink_render):
5188         Some more debugging info.
5189
5190 2005-10-12  Wim Taymans  <wim@fluendo.com>
5191
5192         * docs/design/part-states.txt:
5193         * tools/gst-launch.c: (main):
5194         Some doc updates.
5195         Revert non-intentional change.
5196
5197 2005-10-12  Wim Taymans  <wim@fluendo.com>
5198
5199         * check/gst/gstbin.c: (GST_START_TEST):
5200         * check/gst/gstelement.c: (GST_START_TEST):
5201         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5202         * check/gst/gstghostpad.c: (GST_START_TEST):
5203         * check/gst/gstpipeline.c: (GST_START_TEST):
5204         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5205         * check/states/sinks.c: (GST_START_TEST):
5206         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5207         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5208         (gst_bin_remove_func), (gst_bin_get_state_func),
5209         (gst_bin_recalc_state), (gst_bin_change_state_func),
5210         (bin_bus_handler):
5211         * gst/gstelement.c: (gst_element_get_state_func),
5212         (gst_element_get_state), (gst_element_abort_state),
5213         (gst_element_commit_state), (gst_element_set_state),
5214         (gst_element_change_state), (gst_element_change_state_func):
5215         * gst/gstelement.h:
5216         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5217         (gst_pipeline_provide_clock_func):
5218         * gst/gstutils.c: (gst_element_link_pads_filtered):
5219         * tools/gst-launch.c: (main):
5220         * tools/gst-typefind.c: (main):
5221         Use GstClockTime in _get_state() instead of GTimeVal.
5222         Remove old code in gstutils.c
5223
5224 2005-10-12  Andy Wingo  <wingo@pobox.com>
5225
5226         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5227         removed.
5228
5229         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5230         there is no task. Shouldn't affect any code, as nothing in our
5231         plugins checks this return value.
5232         (gst_pad_stop_task): Also take the stream lock if the pad has no
5233         task. Docs updated.
5234
5235 2005-10-12  Wim Taymans  <wim@fluendo.com>
5236
5237         * gst/gstpad.c: (pre_activate), (post_activate),
5238         (gst_pad_activate_pull), (gst_pad_activate_push):
5239         Cleanup activation code. Reset old state if
5240         activation failed.
5241
5242 2005-10-12  Wim Taymans  <wim@fluendo.com>
5243
5244         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5245         (gst_base_sink_change_state):
5246         No need to prerol after receiving EOS.
5247
5248         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5249         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5250         * gst/elements/gstidentity.c: (gst_identity_event):
5251         Print events more verbosely.
5252
5253 2005-10-12  Wim Taymans  <wim@fluendo.com>
5254
5255         * check/Makefile.am:
5256         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5257         * check/states/sinks2.c:
5258         Moved sinks2 testcode in sinks check.
5259
5260         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5261         (gst_bin_remove_func), (gst_bin_recalc_state),
5262         (gst_bin_change_state_func), (bin_bus_handler):
5263         Fix potential race condition when _get_state() iterated over an
5264         ASYNC element right before it posted a state completion.
5265
5266         * gst/gstclock.h:
5267         Do proper cast here.
5268
5269         * gst/gstevent.c: (gst_event_new_newsegment),
5270         (gst_event_parse_newsegment):
5271         A playback rate of 0.0 is not allowed.
5272
5273 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5274
5275         * win32/common/config.h:
5276         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5277         (_trewinddir), (_ttelldir), (_tseekdir):
5278         * win32/common/dirent.h:
5279         * win32/common/gtchar.h:
5280         * win32/common/libgstbase.def:
5281         * win32/common/libgstreamer.def:
5282         * win32/vs6/grammar.dsp:
5283         * win32/vs6/gst_inspect.dsp:
5284         * win32/vs6/gst_launch.dsp:
5285         * win32/vs6/gstreamer.dsw:
5286         * win32/vs6/libgstbase.dsp:
5287         * win32/vs6/libgstelements.dsp:
5288         * win32/vs6/libgstreamer.dsp:
5289           Visual Studio 6 project files, and a new common directory.
5290           Phear.
5291
5292 2005-10-11  Wim Taymans  <wim@fluendo.com>
5293
5294         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5295         (gst_base_sink_do_sync), (gst_base_sink_query),
5296         (gst_base_sink_change_state):
5297         * gst/base/gstbasesink.h:
5298         Correctly parse newsegment info.
5299
5300 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5301
5302         * gst/gst.c: (init_post):
5303           split plugin paths correctly
5304
5305 2005-10-11  Wim Taymans  <wim@fluendo.com>
5306
5307         * check/gst/gstevent.c: (GST_START_TEST):
5308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5309         (gst_base_sink_change_state):
5310         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
5311         * gst/base/gstbasetransform.c: (gst_base_transform_event):
5312         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5313         * gst/gstevent.c: (gst_event_new_newsegment),
5314         (gst_event_parse_newsegment):
5315         * gst/gstevent.h:
5316         Added extra flag to newsegment for future API freeze.
5317         Updated check and base elements.
5318
5319 2005-10-11  Julien MOUTTE  <julien@moutte.net>
5320
5321         * gst/base/gstcollectpads.c: (gst_collectpads_init),
5322         (gst_collectpads_add_pad), (gst_collectpads_pop),
5323         (gst_collectpads_event), (gst_collectpads_chain):
5324         * gst/base/gstcollectpads.h: Handle EOS correctly.
5325
5326 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5327
5328         * tools/gst-launch.c: (main):
5329           more null protecting
5330
5331 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5332
5333         * gst/gst-i18n-lib.h:
5334           check for ENABLE_NLS, not GETTEXT_PACKAGE
5335         * gst/gstregistry.c: (gst_registry_add_plugin),
5336         (gst_registry_scan_path_level),
5337         (_gst_registry_remove_cache_plugins):
5338           protect possibly NULL strings
5339         * gst/parse/types.h:
5340           config.h already included before
5341         * tools/gst-inspect.c: (main):
5342           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
5343           check for ENABLE_NLS, not GETTEXT_PACKAGE
5344         * tools/gst-launch.c: (main):
5345           check for ENABLE_NLS, not GETTEXT_PACKAGE
5346
5347 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5348
5349         * configure.ac:
5350           if we don't have glib, fail before testing 2.8
5351         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
5352           fix a leak, should fix plugins-base testsuite
5353
5354 2005-10-11  Andy Wingo  <wingo@pobox.com>
5355
5356         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
5357         take the mode we're going to as an arg. Go head and set the mode
5358         and flushing flags now, so that if the activate function starts a
5359         thread all the flags will be in the right state.
5360         (post_activate): Renamed also. Just handle making sure streaming
5361         finishes for the deactivation case, and setting the deactivated
5362         mode.
5363         (gst_pad_set_active): Complain loudly if deactivation fails.
5364         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
5365         (gst_pad_activate_push): Adapt to pre/post_activate changes,
5366         remove the terrible hack.
5367
5368 2005-10-11  Wim Taymans  <wim@fluendo.com>
5369
5370         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5371         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
5372         (gst_bin_recalc_state), (gst_bin_change_state_func),
5373         (gst_bin_dispose), (bin_bus_handler):
5374         * gst/gstbin.h:
5375         Prepare to make current EOS message queue more generic.
5376         Fix some typos.
5377
5378         * gst/gstevent.c: (gst_event_new_newsegment),
5379         (gst_event_parse_newsegment):
5380         * gst/gstevent.h:
5381         Rename base to stream_time.
5382
5383         * gst/gstmessage.h:
5384         Fix typo in docs.
5385
5386 2005-10-11  Wim Taymans  <wim@fluendo.com>
5387
5388         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
5389         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
5390         (gst_bin_change_state_func), (bin_bus_handler):
5391         * gst/gstbin.h:
5392         Work on proper clock selection.
5393
5394 2005-10-11  Edward Hervey  <edward@fluendo.com>
5395
5396         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
5397         * libs/gst/controller/gstcontroller.h:
5398         Added GList* version of _remove_properties() in order to be able to wrap
5399         it in bindings.
5400
5401 2005-10-11  Wim Taymans  <wim@fluendo.com>
5402
5403         * docs/design/part-states.txt:
5404         Some more docs.
5405
5406         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
5407         (gst_bin_change_state_func), (bin_bus_handler):
5408         Doc updates. Don't distribute the same clock over and over again.
5409
5410         * gst/gstclock.c:
5411         * gst/gstclock.h:
5412         Doc updates.
5413
5414         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
5415         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
5416         (gst_pad_send_event):
5417         * gst/gstpad.h:
5418         Make probe emission threadsafe again.
5419         Register quarks and move _get_name() from utils.
5420         Doc updates.
5421
5422         * gst/gstpipeline.c: (gst_pipeline_class_init),
5423         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5424         Only redistribute the clock of it changed.
5425
5426         * gst/gstsystemclock.h:
5427         Doc updates. 
5428
5429         * gst/gstutils.c:
5430         * gst/gstutils.h:
5431         Moved the _flow_get_name() to GstPad.
5432
5433 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5434
5435         * check/gst-libs/gdp.c: (GST_START_TEST):
5436         * check/gst/gstcaps.c: (GST_START_TEST):
5437         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
5438         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
5439         (gst_dp_packet_from_caps):
5440           fix more valgrind warnings before turning up the heat
5441
5442 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5443
5444         * gst/parse/grammar.y:
5445           some cleanup before the hacking
5446
5447 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5448
5449         * gst/base/gstbasesrc.c: (gst_base_src_query):
5450           use conversions
5451         * gst/gstutils.c: (gst_guint64_to_gdouble),
5452         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
5453         * gst/gstutils.h:
5454           externalize, basesrc uses it
5455           obviously the implementation needs testing
5456
5457 2005-10-10  Wim Taymans  <wim@fluendo.com>
5458
5459         * tests/sched/Makefile.am:
5460         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
5461         (make_pipeline3), (make_pipeline4), (print_elem), (main):
5462
5463 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5464
5465         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
5466           apparently converting from guint64 to double is not implemented
5467           on MSVC
5468
5469 2005-10-10  Wim Taymans  <wim@fluendo.com>
5470
5471         * check/Makefile.am:
5472         * check/generic/states.c: (GST_START_TEST):
5473         * check/gst/gstbin.c: (GST_START_TEST):
5474         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5475         * check/states/sinks.c: (GST_START_TEST):
5476         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5477         (main):
5478         Check fixes, use API as stated in design docs, remove hacks.
5479
5480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5481         (gst_base_sink_change_state):
5482         Catch stopping our task while we're shutting down.
5483
5484         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5485         (gst_bin_remove_func), (gst_bin_get_state_func),
5486         (gst_bin_recalc_state), (gst_bin_change_state_func),
5487         (bin_bus_handler):
5488         * gst/gstbin.h:
5489         * gst/gstelement.c: (gst_element_init),
5490         (gst_element_get_state_func), (gst_element_abort_state),
5491         (gst_element_commit_state), (gst_element_lost_state),
5492         (gst_element_set_state), (gst_element_change_state),
5493         (gst_element_change_state_func):
5494         * gst/gstelement.h:
5495         New state change algorithm (see #318116)
5496
5497         * gst/gstpipeline.c: (gst_pipeline_class_init),
5498         (gst_pipeline_init), (gst_pipeline_set_property),
5499         (gst_pipeline_get_property), (do_pipeline_seek),
5500         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5501         * gst/gstpipeline.h:
5502         Remove crude state change hacks.
5503
5504         * gst/gstutils.h:
5505         Remove crude hacks.
5506
5507         * tools/gst-launch.c: (main):
5508         Fixes for state change. Needs some more work to fully use the
5509         new stuff.
5510
5511 2005-10-10  Andy Wingo  <wingo@pobox.com>
5512
5513         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5514
5515         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5516         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5517         issue.
5518
5519 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5520
5521         * gst/gstiterator.c: (gst_iterator_new):
5522           Fix my previous commit: GTypes passed to gst_iterator_new()
5523           can be fundamental types.
5524
5525 2005-10-10  Wim Taymans  <wim@fluendo.com>
5526
5527         * gst/gstelement.c: (gst_element_iterate_pad_list),
5528         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5529         (gst_element_iterate_sink_pads):
5530         Use src/sink pads lists for the respective iterators instead
5531         of filtering.
5532
5533 2005-10-10  Andy Wingo  <wingo@pobox.com>
5534
5535         Merged in popt removal + GOption addition patch from Ronald, bug
5536         #169772.
5537
5538         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5539         GstElement macros around, remove popt-related symbols, add goption
5540         stuff.
5541
5542         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5543         
5544         * docs/gst/Makefile.am:
5545         * docs/libs/Makefile.am: No POPT_CFLAGS.
5546         
5547         * examples/manual/Makefile.am:
5548         * docs/manual/basics-init.xml: Doc updates with an example.
5549         
5550         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5551         (gst_init), (parse_one_option), (parse_goption_arg):
5552         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5553         bit of hand merging and debugging to get the GOption stuff working
5554         tho.
5555         
5556         * tests/Makefile.am:
5557         * tools/Makefile.am:
5558         * tools/gst-inspect.c: (main):
5559         * tools/gst-launch.c: (main):
5560         * tools/gst-run.c: (main):
5561         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5562
5563 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5564
5565         * gst/gstiterator.c: (gst_iterator_new):
5566           Add assertions to make sure passed GType is likely to really
5567           be a GType (as the compiler won't catch it if the size and
5568           GType arguments get mixed up, see #318447).
5569
5570 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5571
5572         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5573
5574         * gst/gstbin.c: (gst_bin_iterate_sorted):
5575           Pass GType and size arguments to gst_iterator_new() in the right
5576           order (maybe we should make _new() take the GType as first argument
5577           just like _new_list()?) (#318447).
5578           
5579
5580 2005-10-10  Wim Taymans  <wim@fluendo.com>
5581
5582         * gst/gstelement.c: (gst_element_finalize):
5583         And free the GStaticRecMutex too
5584
5585 2005-10-10  Andy Wingo  <wingo@pobox.com>
5586
5587         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5588         Allocate and free the mutex properly.
5589
5590         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5591         New macros.
5592         (GstElement): The state_lock is now recursive. Rebuild your
5593         plugins, suckers. Old macros adapted.
5594
5595         * docs/gst/gstreamer-sections.txt: Doc updates.
5596
5597         * gst/gstutils.h:
5598         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5599         (g_static_rec_cond_wait): Ported from state changes patch, while
5600         we wait on bug #317802 to be solved in a well-distributed GLib.
5601
5602         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5603         gst_element_change_state, variable name changes.
5604         (gst_element_change_state): Split out of gst_element_set_state in
5605         preparation for the state change merge. Doesn't pay attention to
5606         the 'transition' argument.
5607         (gst_element_set_state): Updates, hopefully purely cosmetic.
5608         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5609         state change patch.
5610         (gst_element_get_state_func): Renamed from get_state, cosmetic
5611         changes.
5612
5613 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5614
5615         * gst/elements/gstelements.c:
5616         * win32/GStreamer.vcproj:
5617         * win32/config.h:
5618         * win32/dirent.c: (_tseekdir):
5619         * win32/gst-inspect.vcproj:
5620         * win32/gst-launch.vcproj:
5621         * win32/gstconfig.h:
5622         * win32/gstelements.vcproj:
5623         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5624         * win32/gstreamer.def:
5625         * win32/msvc71.sln:
5626           updates for the win32 build (patch from Sebastien Moutte)
5627
5628 2005-10-10  Andy Wingo  <wingo@pobox.com>
5629
5630         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5631         gst_bin_get_state, cleaned up (but no logic changes).
5632         (bin_element_is_sink): Comment updates.
5633         (sink_iterator_filter): Remove needless cast.
5634         (gst_bin_iterate_sinks): Doc update.
5635         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5636         cleaned up (but no logic changes).
5637
5638         * check/states/sinks.c (test_src_sink): Cleanups from the state
5639         change patch.
5640         (test_livesrc_sink): Sync on the state.
5641
5642         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5643         the state change patch.
5644
5645         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5646         change patch.
5647
5648         * check/gst/gstbin.c: Merge in some style fixes and additional
5649         checks from Wim's state change patch.
5650
5651 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5652
5653         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5654         (gst_type_find_helper):
5655           Check whether we have the requested data already in our list of
5656           cached buffers before pulling a new buffer; also make the buffer
5657           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5658
5659 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5660
5661         * gst/gstcaps.c:
5662         * gst/gstevent.c:
5663           doc updates
5664         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5665           don't use long long, it's not portable.  Replacing with
5666           gint64 seems to work; let's hope no skeletons fall out of the closet.
5667
5668 2005-10-10  Andy Wingo  <wingo@pobox.com>
5669
5670         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5671
5672 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5673
5674         * docs/gst/gstreamer-sections.txt:
5675         * gst/gstevent.c:
5676         * gst/gstevent.h:
5677         * gst/gstinfo.c:
5678         * gst/gstinfo.h:
5679         * gst/gstmessage.c: (gst_message_parse_state_changed):
5680         * gst/gstpad.c:
5681         * gst/gstpad.h:
5682           more docs, fix compilation
5683
5684 2005-10-09  Philippe Khalaf <burger@speedy.org>
5685         * gst/gstmessage.c:
5686           Fixed a few forgotten variables on previous commit
5687
5688 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5689
5690         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5691           Fix evil typefind crasher: getrange() might return a short
5692           buffer at the end of a file, but gst_type_find_peek() must
5693           either return the full data as requested or NULL, but
5694           never a short buffer.
5695
5696 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5697
5698         * gst/gstmessage.c: (gst_message_new_state_changed),
5699         (gst_message_parse_state_changed):
5700         * gst/gstmessage.h:
5701           don't use "new", it's a C++ keyword
5702
5703 2005-10-08  Wim Taymans  <wim@fluendo.com>
5704
5705         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5706         * gst/gstelement.c: (gst_element_post_message):
5707         * gst/gstpipeline.c: (gst_pipeline_change_state):
5708         Small docs and debug updates.
5709
5710 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5711
5712         * docs/gst/gstreamer-sections.txt:
5713         * gst/gstelementfactory.c:
5714         * gst/gstevent.c:
5715         * gst/gsttaglist.c:
5716           more docs
5717
5718 2005-10-08  Wim Taymans  <wim@fluendo.com>
5719
5720         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5721         (gst_bin_dispose), (bin_bus_handler):
5722         Fix typos, add comments.
5723         Clear EOS list when going to PAUSED from any direction and do it
5724         in a threadsafe way.
5725         Get base time in a threadsafe way too.
5726         Fix confusing debug in the change_state function.
5727         Various other small cleanups.
5728         
5729         * gst/gstelement.c: (gst_element_post_message):
5730         Fix very verbose bus posting code.
5731
5732         * gst/gstpipeline.c: (gst_pipeline_class_init),
5733         (gst_pipeline_set_property), (gst_pipeline_get_property),
5734         (gst_pipeline_change_state):
5735         Small ARG_ -> PROP_ cleanup
5736
5737 2005-10-08  Wim Taymans  <wim@fluendo.com>
5738
5739         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5740         Do a less CPU demanding EOS check because we can.
5741
5742 2005-10-08  Wim Taymans  <wim@fluendo.com>
5743
5744         * libs/gst/dataprotocol/dataprotocol.c:
5745         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5746         (gst_dp_packet_from_event):
5747         * libs/gst/dataprotocol/dataprotocol.h:
5748         * libs/gst/dataprotocol/dp-private.h:
5749         It's about time we bump the version number.
5750         Since event types don't fit in the guint8 anymore describing
5751         the payload type, make payload type 16 bits wide.
5752
5753 2005-10-08  Wim Taymans  <wim@fluendo.com>
5754
5755         * docs/design/part-TODO.txt:
5756         * docs/design/part-clocks.txt:
5757         * docs/design/part-events.txt:
5758         * docs/design/part-gstbin.txt:
5759         * docs/design/part-gstelement.txt:
5760         * docs/design/part-gstpipeline.txt:
5761         * docs/design/part-live-source.txt:
5762         * docs/design/part-messages.txt:
5763         * docs/design/part-overview.txt:
5764         * docs/design/part-states.txt:
5765         Many doc updates.
5766
5767 2005-10-08  Wim Taymans  <wim@fluendo.com>
5768
5769         * gst/gstevent.c:
5770         * gst/gstevent.h:
5771         Fix event quark registration.
5772         Add some space between events so we can insert them in the
5773         right groups.
5774
5775 2005-10-08  Wim Taymans  <wim@fluendo.com>
5776
5777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5778         (gst_base_sink_handle_buffer):
5779         Better log message.
5780
5781         * gst/gstbus.h:
5782         * gst/gstelement.h:
5783         More docs.
5784
5785         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5786         (gst_queue_set_property), (gst_queue_get_property):
5787         * gst/gstqueue.h:
5788         Remove old unused properties.
5789
5790 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5791         * docs/gst/gstreamer-sections.txt:
5792         * gst/gstmessage.c:
5793         * gst/gstmessage.h:
5794         * gst/gstminiobject.c:
5795         * gst/gstminiobject.h:
5796         * gst/gstobject.h:
5797         * gst/gstpad.h:
5798         * gst/gstutils.h:
5799           lots of new docs and doc fixes
5800
5801 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5802
5803         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5804         * gst/gstplugin.h:
5805         * gst/gstregistry.c: (gst_registry_lookup_locked),
5806         (gst_registry_scan_path_level):
5807         * gst/gstregistryxml.c: (load_plugin):
5808           Only ever load one plugin for a given plugin basename.
5809           This ensures correct overriding of GST_PLUGIN_PATH over
5810           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5811           system installed plugins.
5812
5813 2005-10-08  Wim Taymans  <wim@fluendo.com>
5814
5815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5816         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5817         Prepare for doing QOS.
5818
5819 2005-10-08  Wim Taymans  <wim@fluendo.com>
5820
5821         * check/gst/gstbin.c: (GST_START_TEST):
5822         * check/pipelines/cleanup.c: (GST_START_TEST):
5823         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5824         Allow new clock message too.
5825
5826 2005-10-08  Wim Taymans  <wim@fluendo.com>
5827
5828         * gst/gstmessage.c: (gst_message_new_error),
5829         (gst_message_new_warning), (gst_message_new_tag),
5830         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5831         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5832         (gst_message_new_segment_start), (gst_message_new_segment_done),
5833         (gst_message_parse_state_changed),
5834         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5835         (gst_message_parse_new_clock):
5836         * gst/gstmessage.h:
5837         Also carry the clock in question.
5838
5839 2005-10-08  Wim Taymans  <wim@fluendo.com>
5840
5841         * gst/gstmessage.c: (gst_message_new_custom),
5842         (gst_message_new_eos), (gst_message_new_error),
5843         (gst_message_new_warning), (gst_message_new_tag),
5844         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5845         (gst_message_new_new_clock), (gst_message_new_segment_start),
5846         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5847         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5848         * gst/gstmessage.h:
5849         Clean up.
5850         Added clock related messages.
5851
5852         * gst/gstpipeline.c: (gst_pipeline_change_state):
5853         Post message when the clock changed.
5854
5855         * tools/gst-launch.c: (event_loop):
5856         Print new clock.
5857
5858 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5859
5860         * tools/gst-inspect.c: (print_element_properties_info):
5861           Can't pass NULL strings to g_print() on windows.
5862
5863 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5864
5865         * docs/Makefile.am:
5866         * docs/gst/Makefile.am:
5867         * docs/gst/gstreamer-docs.sgml:
5868         * docs/gst/running.xml:
5869         * docs/version.entities.in:
5870           add a chapter on running GStreamer.
5871           document GST_DEBUG and GST_PLUGIN* env vars
5872
5873 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5874
5875         * Makefile.am:
5876           remove include dir
5877         * configure.ac:
5878           remove PLUGINS_BUILDDIR stuff
5879         * gst/gst.c: (init_post):
5880           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5881         * idiottest.mak:
5882           remove, it was condescending and not needed
5883
5884 2005-10-08  Wim Taymans  <wim@fluendo.com>
5885
5886         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5887         (gst_base_sink_handle_object), (gst_base_sink_event),
5888         (gst_base_sink_wait), (gst_base_sink_handle_event),
5889         (gst_base_sink_change_state):
5890         * gst/base/gstbasesink.h:
5891         Repost EOS message while going to PLAYING if still EOS.
5892         Make sure that when receiving a FLUSH_START we don't attempt
5893         to sync on the clock anymore.
5894
5895 2005-10-08  Wim Taymans  <wim@fluendo.com>
5896
5897         * tools/gst-launch.c: (event_loop):
5898         Better message printout.
5899
5900 2005-10-08  Wim Taymans  <wim@fluendo.com>
5901
5902         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5903         (gst_bin_child_proxy_get_children_count):
5904         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5905         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5906         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5907         (gst_child_proxy_set_valist):
5908         * gst/parse/grammar.y:
5909         Make ChildProxy threadsafe and fix mem leaks.
5910
5911 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5912
5913         * gst/gst.c: (init_post):
5914           debug the GST_PLUGIN_ env vars
5915
5916 2005-10-08  Wim Taymans  <wim@fluendo.com>
5917
5918         * check/gst/gstbin.c: (GST_START_TEST):
5919         * check/gst/gstmessage.c: (GST_START_TEST):
5920         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5921         * gst/gstelement.c: (gst_element_commit_state),
5922         (gst_element_lost_state):
5923         * gst/gstmessage.c: (gst_message_new_state_changed),
5924         (gst_message_parse_state_changed):
5925         * gst/gstmessage.h:
5926         * tools/gst-launch.c: (event_loop):
5927         Added extra field to STATE_CHANGE message with the pending
5928         state, which will be different from the new state soon.
5929
5930 2005-10-08  Wim Taymans  <wim@fluendo.com>
5931
5932         * gst/gstbus.c: (gst_bus_pop):
5933         * gst/gstclock.c:
5934         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5935         Small cleanups and doc updates.
5936
5937 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * gst/gst.c: (init_pre):
5940         * gst/gstbin.c: (gst_bin_add_func):
5941           log distributing clocks and base time
5942         * gst/gstregistry.c: (gst_registry_add_plugin),
5943         (gst_registry_scan_path_level), (gst_registry_scan_path):
5944           clean up the debugging output a little
5945         * gst/gstutils.c: (gst_element_state_get_name):
5946           warn about a memleak (I've actually seen this be used, though
5947           it was probably a bug)
5948
5949 2005-10-07  Wim Taymans  <wim@fluendo.com>
5950
5951         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5952         (gst_base_src_init), (gst_base_src_default_newsegment),
5953         (gst_base_src_newsegment), (gst_base_src_do_seek),
5954         (gst_base_src_loop), (gst_base_src_start):
5955         * gst/base/gstbasesrc.h:
5956         Make the newsegment event customizable by subclasses.
5957
5958 2005-10-07  Wim Taymans  <wim@fluendo.com>
5959
5960         * gst/gstevent.c: (gst_event_new_buffersize),
5961         (gst_event_parse_buffersize):
5962         * gst/gstevent.h:
5963         New event for future idea.
5964
5965 2005-10-07  Andy Wingo  <wingo@pobox.com>
5966
5967         * gst/gstelement.c (gst_element_post_message): Doc update.
5968
5969         * docs/gst/gstreamer-sections.txt: Update.
5970
5971         * gst/gstmessage.c (gst_message_new_application): Made into a
5972         function like honest API calls.
5973         (gst_message_new_element): New message type.
5974
5975         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5976
5977         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5978         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5979         times.
5980
5981         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5982         NO_PREROLL from gst_element_change_state to fall through.
5983
5984 2005-10-07  Wim Taymans  <wim@fluendo.com>
5985
5986         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5987         (gst_ghost_pad_do_activate_push):
5988         Activating a ghostpad with no internal pad in push mode
5989         is ok.
5990
5991 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * gst/gstobject.h:
5994           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5995           Fixes compilation on Windows.
5996
5997 2005-10-07  Michael Smith <msmith@fluendo.com>
5998
5999         * tools/gst-inspect.c:
6000           Print out feature and plugin count at the end when printing out
6001           all features.
6002
6003 2005-10-04  Michael Smith <msmith@fluendo.com>
6004
6005         * gst/gsterror.c: (_gst_stream_errors_init):
6006           Add another error string used in a few existing plugins.
6007
6008         * gst/gstplugin.c:
6009         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6010         * tools/gst-inspect.c: (print_element_info):
6011           When a feature disappears from a plugin (and the feature exists in
6012           the cached registry file), things went horribly wrong. This isn't a
6013           complete fix, we should actually be removing the 'missing' features
6014           from the features list when we load the actual plugin. That's not
6015           yet implemented. 
6016
6017 2005-10-04  Johan Dahlin  <johan@gnome.org>
6018
6019         * check/gst/gstiterator.c: (GST_START_TEST):
6020         * gst/gstbin.c: (gst_bin_iterate_elements),
6021         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6022         * gst/gstelement.c: (gst_element_iterate_pads):
6023         * gst/gstformat.c: (gst_format_iterate_definitions):
6024         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6025         (gst_iterator_new_list), (gst_iterator_filter):
6026         * gst/gstiterator.h:
6027         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6028         Add a GType to GstIterator, update callsites and tests.
6029
6030 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6031
6032         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6033           give events a chance to be handled by event probes when the pad
6034           is not linked
6035
6036 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6037
6038         * gst/gstevent.c: (gst_event_type_get_name),
6039         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6040         * gst/gstevent.h:
6041           add string representations for event types
6042
6043 2005-10-06  Wim Taymans  <wim@fluendo.com>
6044
6045         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6046         Don't use NULL pointers.
6047
6048 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6049
6050         * gst/gst_private.h:
6051         * gst/gstbus.c:
6052         * gst/gstelement.c:
6053         * gst/gstinfo.c:
6054         * gst/gstpluginfeature.c:
6055           widen the debug category in output to fit the biggest one we have
6056           add a bus category and use it
6057           play with the colors
6058           fix up some categories
6059
6060 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6061
6062         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6063           add push activation of sink ghost pads.
6064           Andye, please verify
6065
6066 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6067
6068         * gst/gstutils.c: (gst_element_link_pads):
6069           fix a bug in the case where neither element has a pad
6070         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6071           add a test for that case
6072
6073 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6074
6075         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6076           emit have-data before checking for peers.  This allows
6077           for probe handlers to connect elements.  This helps autopluggers.
6078         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6079         (gst_pad_suite):
6080           add six checks, linked/unlinked with no/true/false probe
6081
6082 2005-10-04  Wim Taymans  <wim@fluendo.com>
6083
6084         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6085         (gst_fake_sink_event), (gst_fake_sink_preroll),
6086         (gst_fake_sink_render), (gst_fake_sink_change_state):
6087         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6088         (gst_fake_src_get_property), (gst_fake_src_create),
6089         (gst_fake_src_stop):
6090         * gst/elements/gstidentity.c: (gst_identity_stop):
6091         Protect last_message with lock.
6092
6093 2005-10-04  Edward Hervey  <edward@fluendo.com>
6094
6095         * gst/gstformat.h: 
6096         Added precision in the comments for GST_FORMAT_DEFAULT
6097
6098 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6099
6100         * tools/gst-launch.c: (main):
6101           Don't try to run erroneous pipelines.
6102
6103 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6104
6105         * gst/gstbus.c: We don't need this header.
6106
6107 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6108
6109         * configure.ac:
6110           back to development
6111
6112 === release 0.9.3 ===
6113
6114 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6115
6116         * README:
6117         * configure.ac:
6118           Releasing 0.9.3, "Unregistered"
6119
6120 2005-10-03  Andy Wingo  <wingo@pobox.com>
6121
6122         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6123         whereby calling a pad's activatepush() function can start a thread
6124         that starts to push or pull before the pad gets the FLUSHING flag
6125         unset. Hack around it by holding the stream lock until the flag is
6126         set. Need to replace this with a proper solution. Together with
6127         the ghost pad fixes, this fixes mp3 playing/tagreading.
6128
6129         * docs/design/part-gstghostpad.txt: Add a note about activation of
6130         proxy pads outside of ghost pads.
6131
6132         * gst/gstghostpad.c: Implement the ghost pad activation design.
6133
6134 2005-10-02  Andy Wingo  <wingo@pobox.com>
6135
6136         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6137         It is volatile, after all.
6138
6139         * docs/design/part-gstghostpad.txt: Flesh out activation with
6140         ghost pads.
6141
6142         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6143         GST_DEBUG_FUNCPTR.
6144
6145 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6146
6147         * configure.ac:
6148           Fix (unused) AM_CONDITIONAL tests.
6149
6150 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6151
6152         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6153
6154         * gst/gstutils.c: (gst_pad_query_convert):
6155           Add assertion that makes sure src_val is >=0, just like
6156           gst_query_new_convert() has. (#315895)
6157
6158 2005-09-30  Edward Hervey  <edward@fluendo.com>
6159
6160         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6161         Let's not iterate pads we're not interested in, it avoids getting 
6162         sky-high refcounts on sinkpad.
6163
6164 2005-09-30  Wim Taymans  <wim@fluendo.com>
6165
6166         * gst/gstelement.c: (gst_element_set_state),
6167         (gst_element_change_state):
6168         Small tweak, element in ASYNC remains ASYNC.
6169
6170 2005-09-30  Wim Taymans  <wim@fluendo.com>
6171
6172         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6173         Only error is an error.
6174
6175         * gst/gstbin.c: (gst_bin_change_state):
6176         Better debugging.
6177
6178         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6179         Also call pad_block in pad alloc.
6180
6181         * gst/gstutils.c: (gst_flow_get_name):
6182         Better debugging.
6183
6184 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6185
6186         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6187         (gst_base_src_get_range):
6188           Fix documentation typos. Add some more debug info.
6189
6190 2005-09-29  David Schleef  <ds@schleef.org>
6191
6192         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6193           more end-user friendly.
6194         * tools/gst-inspect.c: (main): Check if command-line argument is
6195           a file and attempt to load that file as a plugin.
6196
6197 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         * check/gst/gstbin.c:
6200         * check/states/sinks.c:
6201           fix tests for the new warning
6202         * check/gst/gstpipeline.c:
6203           add a test for pipeline and bus interaction
6204         * gst/gstelement.c:
6205           elements should be NULL if they get disposed; add a warning if not
6206
6207 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6208
6209         * gst/gstobject.c:
6210           for 2.6 refcounting, make debug log more correct by printing
6211           the actual refcounts at the time of swap (Wim)
6212
6213 2005-09-29  Andy Wingo  <wingo@pobox.com>
6214
6215         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6216         removes signal watches previously added via
6217         gst_bus_add_signal_watch.
6218         (gst_bus_add_signal_watch): Don't return the source id, just store
6219         it on the bus if there wasn't an id already.
6220
6221         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6222         add_signal_watch and remove_signal_watch.
6223
6224 2005-09-29  Edward Hervey  <edward@fluendo.com>
6225
6226         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6227         Better if we actually iterate the list :)
6228
6229 2005-09-29  Wim Taymans  <wim@fluendo.com>
6230
6231         * check/gst/gstbin.c: (GST_START_TEST):
6232         Change for new bus API.
6233
6234         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6235         (send_messages), (GST_START_TEST), (gstbus_suite):
6236         Change for new bus signal API.
6237
6238         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6239         (gst_bus_source_prepare), (gst_bus_source_check),
6240         (gst_bus_create_watch), (gst_bus_add_watch_full),
6241         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6242         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6243         * gst/gstbus.h:
6244         Remove support for multiple GSources operating on different
6245         message types as it is too complex and unneeded when using
6246         signals.
6247         Added support for receiving signals from the bus.
6248
6249 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * docs/libs/tmpl/gstdataprotocol.sgml:
6252         * docs/manual/advanced-dataaccess.xml:
6253         * gst/elements/gstcapsfilter.c:
6254         * gst/gstutils.c:
6255           rename filter-caps to caps property
6256
6257 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6258
6259         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6260           More robust fraction string parsing.
6261
6262         * docs/pwg/appendix-porting.xml:
6263           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6264
6265 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6266
6267         * gst/gstcaps.c: (gst_caps_do_simplify):
6268           Thou shalt not free a structure and then continue using it
6269           in the next loop iteration.
6270
6271         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6272         (gst_caps_suite):
6273           Add test case for caps simplification.
6274
6275 2005-09-29  Wim Taymans  <wim@fluendo.com>
6276
6277         * check/gst/gstbin.c: (GST_START_TEST):
6278         Oops.
6279
6280 2005-09-29  Wim Taymans  <wim@fluendo.com>
6281
6282         * check/gst/gstbin.c: (GST_START_TEST):
6283         Add bus to bin.
6284
6285         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6286         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6287         (find_element), (gst_bin_sort_iterator_next),
6288         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6289         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6290         (gst_bin_change_state), (gst_bin_dispose):
6291         A bin does not have a bus, it gets the bus from the parent.
6292
6293         * gst/gstelement.c: (gst_element_requires_clock),
6294         (gst_element_provides_clock), (gst_element_is_indexable),
6295         (gst_element_is_locked_state), (gst_element_change_state),
6296         (gst_element_set_bus_func):
6297         Small cleanups.
6298
6299         * gst/gstpipeline.c: (gst_pipeline_class_init),
6300         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
6301         The pipeline provides a bus.
6302
6303 2005-09-28  Johan Dahlin  <johan@gnome.org>
6304
6305         * gst/gstmessage.c (gst_message_parse_state_changed): Use
6306         gst_structure_get_enum instead of gst_structure_get_int
6307
6308         * gst/gststructure.c (gst_structure_get_enum): Impl.
6309
6310         * gst/gststructure.h (gst_structure_get_enum): Add
6311
6312         * docs/gst/gstreamer-sections.txt: Ditto
6313
6314         * gst/gstmessage.c (gst_message_new_state_changed): Use
6315         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
6316         which does introspection.
6317         Reviewed by Christian Schaller
6318
6319 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6320
6321         * gst/gstinfo.c: (gst_debug_log_default):
6322           don't do dummy g_strdup()s
6323         * libs/gst/controller/gstcontroller.c:
6324         (on_object_controlled_property_changed),
6325         (gst_controlled_property_new), (gst_controller_new_valist),
6326         (gst_controller_new_list),
6327         (gst_controller_remove_properties_valist), (gst_controller_set),
6328         (gst_controller_get), (gst_controller_sync_values),
6329         (gst_controller_get_value_array), (_gst_controller_class_init),
6330         (gst_controller_get_type):
6331         * libs/gst/controller/gstcontroller.h:
6332         * libs/gst/controller/gstinterpolation.c:
6333         (gst_controlled_property_find_timed_value_node):
6334           convert // to /**/ comments
6335
6336 2005-09-28  Wim Taymans  <wim@fluendo.com>
6337
6338         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
6339         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
6340         (gst_bus_sync_signal_handler):
6341         * gst/gstbus.h:
6342         Added async-message and sync-message signals to the bus.
6343         Added helper BusFunc to emit signals for all posted messages.
6344
6345         * gst/gstmessage.c: (gst_message_type_get_name),
6346         (gst_message_type_to_quark), (gst_message_get_type):
6347         * gst/gstmessage.h:
6348         Register quarks for message names.
6349
6350 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
6351
6352         * docs/libs/gstreamer-libs-sections.txt:
6353         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6354         (gst_controller_new_list):
6355         * libs/gst/controller/gstcontroller.h:
6356           added another constructor for language bindings
6357
6358 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6359
6360         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6361           add another check
6362         * gst/gstbus.c:
6363           add some doc
6364         * gst/gstinfo.c: (_gst_debug_init):
6365           slightly more readable color for refcount debugging
6366
6367 2005-09-28  Wim Taymans  <wim@fluendo.com>
6368
6369         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6370         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
6371         (find_element), (gst_bin_sort_iterator_next),
6372         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6373         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6374         (gst_bin_change_state), (gst_bin_dispose):
6375         Small doc fixes. get_clock -> provide_clock.
6376
6377         * gst/gstelement.c: (gst_element_class_init),
6378         (gst_element_provides_clock), (gst_element_provide_clock),
6379         (gst_element_get_clock), (gst_element_commit_state),
6380         (gst_element_lost_state):
6381         * gst/gstelement.h:
6382         Make get/set_clock() symetric. Add provide_clock vmethod since
6383         that is actually what this function does.
6384
6385         * gst/gstpipeline.c: (gst_pipeline_class_init),
6386         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
6387         (gst_pipeline_get_clock):
6388         get_clock -> provide_clock.
6389
6390 2005-09-28  Andy Wingo  <wingo@pobox.com>
6391
6392         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
6393         lieu of real docs...
6394
6395         * gst/elements/gstfdsrc.c: Cleaned up a bit.
6396
6397 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
6398
6399         * gst/elements/gstcapsfilter.c:
6400         * gst/elements/gstfakesink.c:
6401         * gst/elements/gstfakesrc.c:
6402         * gst/elements/gstfdsink.c:
6403         * gst/elements/gstfdsrc.c:
6404         * gst/elements/gstfilesink.c:
6405         * gst/elements/gstfilesrc.c:
6406         * gst/elements/gstidentity.c:
6407         * gst/elements/gsttee.c:
6408         * gst/elements/gsttypefindelement.c:
6409           Make element details static.
6410
6411 2005-09-28  Wim Taymans  <wim@fluendo.com>
6412
6413         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6414         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6415         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6416         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6417         (gst_bin_change_state), (gst_bin_dispose):
6418         Some documentation updates.
6419         Clean up dispose handlers.
6420
6421         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
6422         * gst/gstpad.c: (gst_pad_dispose):
6423         Clean up dispose handler.
6424
6425         * gst/gstpipeline.c: (gst_pipeline_change_state):
6426         Removed spurious UNLOCK.
6427
6428 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
6429
6430         * docs/gst/gstreamer-sections.txt:
6431         * gst/base/gstbasesrc.h:
6432         * gst/gstelement.h:
6433         * gst/gstevent.h:
6434         * gst/gstobject.h:
6435         * gst/gstpad.h:
6436         * gst/gstpipeline.c:
6437         * gst/gstpipeline.h:
6438         * gst/gstutils.h:
6439         * gst/gstxml.h:
6440           added two new functions to the docs
6441                 documents all undocumented GstXXXFlags
6442                 completed some incomplete docs 
6443
6444 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6445
6446         * gst/gstbin.c: (gst_bin_dispose):
6447         * gst/gstelement.c: (gst_element_dispose):
6448           remove now useless and leaky resurrection code in dispose
6449         * gst/base/gstbasesrc.c: (gst_base_src_init):
6450         * gst/gstelementfactory.c: (gst_element_factory_create):
6451         * gst/gstobject.c: (gst_object_set_parent):
6452           add some debugging
6453
6454 2005-09-27  Wim Taymans  <wim@fluendo.com>
6455
6456         * docs/design/part-TODO.txt:
6457         Update TODO.
6458
6459         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6460         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6461         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6462         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6463         (gst_bin_change_state):
6464         * gst/gstelement.h:
6465         Remove element variable, we keep element info in the iterator now.
6466
6467 2005-09-27  Andy Wingo  <wingo@pobox.com>
6468
6469         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
6470         values.
6471
6472 2005-09-27  Wim Taymans  <wim@fluendo.com>
6473
6474         * check/gst/gstbin.c: (GST_START_TEST):
6475         Enable check that works now.
6476
6477         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6478         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6479         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6480         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6481         (gst_bin_change_state):
6482         * gst/gstbin.h:
6483         Redid the state change algorithm using a topological sort algo.
6484         Handles all cases correctly.
6485         Exposed iterator for state change order.
6486
6487         * gst/gstelement.h:
6488         Temp storage for state changes. Need to get rid of this soon.
6489
6490 2005-09-27  Wim Taymans  <wim@fluendo.com>
6491
6492         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6493         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6494         (link_fold_func), (gst_pad_proxy_setcaps):
6495         Leak fixes, the fold functions need to unref the passed object and
6496         _get_parent_*() returns ref to parent.
6497
6498 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6499
6500         * check/gst/gstbuffer.c: (test_make_writable):
6501           Plug leak in test case and fix 'make check-valgrind'
6502
6503 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6504
6505         * gst/gstbuffer.c: (gst_subbuffer_init):
6506           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6507           works correctly in all circumstances (we could have just copied
6508           the parent buffer's readonly flag, but conceptually it seems
6509           cleaner to mark all subbuffers as read-only). (based on patch
6510           by Alessandro Decina, #314710).
6511         
6512         * check/gst/gstbuffer.c: (create_read_only_buffer),
6513         (test_make_writable), (test_subbuffer_make_writable),
6514         (gst_test_suite):
6515           Add some tests for gst_buffer_make_writable().
6516
6517 2005-09-27  Wim Taymans  <wim@fluendo.com>
6518
6519         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6520         use gst_object_has_ancestor().
6521
6522         * gst/gstobject.c: (gst_object_has_ancestor):
6523         * gst/gstobject.h:
6524         gst_object_has_ancestor() copied from gstbin.c as it is a
6525         usefull function.
6526
6527         * tests/instantiate/create.c: (create_all_elements):
6528         * tests/lat.c: (handoff_src), (handoff_sink):
6529         * tests/sched/runxml.c: (main):
6530         * tests/seeking/seeking1.c: (main):
6531         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6532         (main):
6533         Fix compilation of some tests.
6534
6535 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6536
6537         * gst/gsterror.h:
6538           Remove comment. GST_TYPE_G_ERROR is here to stay,
6539           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6540           (#316961, #300610).
6541
6542 2005-09-26  Wim Taymans  <wim@fluendo.com>
6543
6544         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6545         Added check that shows error in state change order.
6546
6547 2005-09-26  Wim Taymans  <wim@fluendo.com>
6548
6549         * gst/gstbin.c: (gst_bin_change_state):
6550         Make state change function use 3 queues again, we were
6551         adding elements in the wrong order.
6552
6553         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6554         Some debug info,
6555
6556         * gst/gstpad.c: (gst_pad_dispose):
6557         Added some debug info first.
6558
6559 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6560
6561         * docs/design/draft-push-pull.txt:
6562         * docs/design/part-events.txt:
6563         * docs/design/part-overview.txt:
6564         * docs/design/part-scheduling.txt:
6565           Replace all _pull_region() with _pull_range()
6566           
6567 2005-09-26  Andy Wingo  <wingo@pobox.com>
6568
6569         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6570
6571         * check/gst-libs/controller.c: Update for controller api change.
6572
6573         * configure.ac: 
6574         * tests/Makefile.am:
6575         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6576         over by GLib bug 118439.
6577         
6578         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6579         routines to a function.
6580
6581         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6582
6583         * libs/gst/controller/gsthelper.c:
6584         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6585         (gst_object_sync_values): Renamed from sink_values. Ugh.
6586
6587         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6588
6589         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6590         Renamed from controller_key, as it is exported.
6591
6592         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6593
6594 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * gst/Makefile.am:
6597         * gst/gst.h:
6598         * gst/gstpad.h:
6599         * gst/gstpadtemplate.h:
6600         * gst/gstquery.c:
6601         * gst/gstquery.h:
6602         * gst/gstqueryutils.c:
6603         * gst/gstqueryutils.h:
6604           remove queryutils headers after moving the two used functions
6605           to gstquery.  also fixes build problem for gstsiddec
6606
6607 2005-09-26  Michael Smith <msmith@fluendo.com>
6608
6609         * tools/gst-launch.1.in:
6610         Correct documentation in manpage of debug syntax
6611
6612 2005-09-26  Wim Taymans  <wim@fluendo.com>
6613
6614         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6615         (gst_base_src_is_seekable), (gst_base_src_change_state):
6616         Some more debugging info.
6617
6618 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6619
6620         * docs/gst/gstreamer-sections.txt:
6621         * gst/base/gstbasetransform.h:
6622         * gst/gstindex.h:
6623           added more docs
6624
6625 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6626
6627         * docs/gst/.cvsignore:
6628         * docs/gst/tmpl/.cvsignore:
6629         * docs/gst/tmpl/gstpipeline.sgml:
6630         * docs/gst/tmpl/gstplugin.sgml:
6631         * gst/gstpipeline.c:
6632         * gst/gstplugin.c:
6633         * gst/gstplugin.h:
6634           inlined the last two docs files
6635           removed the tmpl directory from cvs (no more conflicts here!)
6636
6637 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * docs/gst/gstreamer-sections.txt:
6640         * docs/gst/tmpl/.cvsignore:
6641         * docs/gst/tmpl/gstpad.sgml:
6642         * docs/gst/tmpl/gstpadtemplate.sgml:
6643         * gst/Makefile.am:
6644         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6645         (gst_pad_finalize), (gst_pad_set_pad_template):
6646         * gst/gstpad.h:
6647         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6648         (gst_pad_template_class_init), (gst_pad_template_init),
6649         (gst_pad_template_dispose), (name_is_valid),
6650         (gst_static_pad_template_get), (gst_pad_template_new),
6651         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6652         (gst_pad_template_pad_created):
6653         * gst/gstpadtemplate.h:
6654           inlined two more docs
6655           factored gstpadtemplate out of gstpad
6656
6657 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6658
6659         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6660         (test_children_state_change_order_semi_sink):
6661           Fix test case: we can't rely on a fixed state change order when
6662           going from READY => PAUSED because the sink might commit its 
6663           new state first when the first buffer created by the source 
6664           reaches the sink before the source has finished its change state.
6665           (Test case still fails at times, see #316856, comment 5 onwards)
6666
6667 2005-09-24  Wim Taymans  <wim@fluendo.com>
6668
6669         * docs/design/part-events.txt:
6670         * docs/design/part-gstbus.txt:
6671         * docs/design/part-gstpipeline.txt:
6672         * docs/design/part-messages.txt:
6673         * docs/design/part-overview.txt:
6674         * docs/design/part-segments.txt:
6675         * gst/gstbin.c:
6676         * gst/gstbuffer.c:
6677         * gst/gstclock.c:
6678         * gst/gstelement.c:
6679         * gst/gstevent.c:
6680         * gst/gstfilter.c:
6681         * gst/gstiterator.c:
6682         Various documentation updates.
6683
6684 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6685
6686         * gst/gstclock.h:
6687           Well, that's embarassing.  Luckily we weren't using
6688           GST_CLOCK_DIFF anywhere.
6689
6690 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6691
6692         * common/gtk-doc.mak:
6693           don't fail on building XML, FC4 slave shows a bunch of doc
6694           missing bits that I don't get
6695         * gst/gstpad.c:
6696         * gst/gstpipeline.c:
6697         * gst/gststructure.c:
6698           some doc updates
6699
6700 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6701
6702         * docs/design/part-gstbin.txt:
6703         * docs/design/part-gstbus.txt:
6704         * gst/gstbus.c:
6705           Add blurb about how the bus goes into flushing mode and
6706           drops all messages when its bin goes from READY into NULL 
6707           state.
6708
6709 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6710
6711         * docs/gst/gstreamer-sections.txt:
6712         * gst/gststructure.c: (gst_structure_get_clock_time):
6713         * gst/gststructure.h:
6714           add a method to get a GstClockTime out of a structure
6715
6716 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6717
6718         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6719         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6720           Added test to check state change order in bins (can still be made
6721           to fail here under heavy disk load; bails out with 'Push on pad
6722           fakesink:sink0, but it was not activated in push mode').
6723
6724         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6725           Fix state change order when there is only a semi sink (#316856)
6726
6727         * gst/gstbus.c: (gst_bus_class_init):
6728           Use _class_peek_parent(), not _class_ref(); fix docs to say
6729           'default main context' instead of 'mainloop' where that is
6730           what's meant.
6731
6732         * gst/gstelement.c: (gst_element_commit_state),
6733         (gst_element_set_state):
6734           Fix typos in debug messages
6735
6736 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6737
6738         * docs/README:
6739         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6740         * gst/gstpluginfeature.c:
6741         * gst/gstutils.c:
6742           various doc updates
6743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6744           change an assert into an error until it gets fixed properly
6745
6746 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6747
6748         * docs/gst/gstreamer-sections.txt:
6749         * docs/gst/tmpl/.cvsignore:
6750         * docs/gst/tmpl/gstelement.sgml:
6751         * docs/gst/tmpl/gstinfo.sgml:
6752         * docs/gst/tmpl/gstobject.sgml:
6753         * gst/gstelement.c:
6754         * gst/gstelement.h:
6755         * gst/gstinfo.c:
6756         * gst/gstinfo.h:
6757         * gst/gstobject.c: (gst_object_class_init):
6758         * gst/gstobject.h:
6759           inlined 3 more biiiig doc files and added some missing docs on the fly
6760
6761 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6762
6763         * check/gst/.cvsignore:
6764         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6765         * gst/gstregistryxml.c: (load_plugin),
6766         (gst_registry_xml_save_plugin):
6767           put back source in registry.  add checks for find_plugin.
6768         * testsuite/states/bin.c: (assert_state), (empty_bin),
6769         (test_adding_one_element), (main):
6770         * testsuite/states/locked.c: (main):
6771           some compile/run fixes
6772
6773 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6774
6775         * check/gst/gstvalue.c: (GST_START_TEST):
6776           fix leaks in the test itself
6777
6778 2005-09-22  Wim Taymans  <wim@fluendo.com>
6779
6780         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6781         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6782         (gst_base_sink_query):
6783         Prepare for more accurate position reporting and query
6784         handling.
6785
6786         * gst/gstelement.c: (gst_element_send_event),
6787         (gst_element_set_state):
6788         Add some comment.
6789
6790 2005-09-22  Wim Taymans  <wim@fluendo.com>
6791
6792         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6793         (gst_query_parse_segment):
6794         * gst/gstquery.h:
6795         More documentation.
6796         Add segment query for future use.
6797
6798 2005-09-22  Wim Taymans  <wim@fluendo.com>
6799
6800         * gst/gstbin.c: (gst_bin_add_func):
6801         Some more debug info.
6802
6803         * gst/gstelement.c: (gst_element_send_event):
6804         Simplify send_event
6805
6806         * gst/gstelement.h:
6807         Don't know how flags got broken.
6808
6809         * gst/gstquery.h:
6810         Added new query.
6811
6812 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6813
6814         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6815           Add simplistic test suite for GST_TYPE_DATE serialisation and
6816           deserialisation.
6817
6818 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6819
6820         * docs/gst/gstreamer-sections.txt:
6821         * gst/gststructure.c: (gst_structure_set_valist),
6822         (gst_structure_get_date):
6823         * gst/gststructure.h:
6824         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6825         (gst_date_copy), (gst_value_compare_date),
6826         (gst_value_serialize_date), (gst_value_deserialize_date),
6827         (gst_value_transform_date_string),
6828         (gst_value_transform_string_date), (_gst_value_initialize):
6829         * gst/gstvalue.h:
6830           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6831           bunch of utility functions along with a hack that checks that
6832           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6833           is required. Part of the grand scheme in #170777.
6834
6835 2005-09-22  Andy Wingo  <wingo@pobox.com>
6836
6837         * gst/gstconfig.h.in: Psych out gtk-doc.
6838
6839         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6840
6841         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6842
6843         * tools/gst-inspect.c (print_element_list): Plug some
6844         inconsequential leaks.
6845
6846         * gst/gstregistry.c (gst_registry_get_default): Doc.
6847
6848         * check/gst/gstplugin.c: 
6849         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6850         * gst/gstelementfactory.c (gst_element_factory_create): 
6851         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6852         refcount changes.
6853
6854         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6855         (gst_plugin_feature_load): Doc, don't eat refs.
6856
6857         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6858         (gst_plugin_list_free): Doc.
6859         (gst_plugin_load_file): Doc updates.
6860
6861         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6862         accessors returning refcounted objects, return a ref.
6863
6864         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6865         accessor for caps. IDEMPOTENCE. Oh yes.
6866
6867 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6868
6869         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6870
6871         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6872         (_gst_debug_register_funcptr):
6873           Add mutex to serialise access to the hash table with
6874           the function pointer => function name string mapping;
6875           make that hash table static scope (#316809).
6876
6877         * gst/registries/.cvsignore:
6878           Remove left-over file.
6879
6880 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6881
6882         * docs/pwg/appendix-porting.xml:
6883           And something about newsegment events and caps-on-buffers to
6884           the porting guide (feel free to improve).
6885
6886 2005-09-21  Andy Wingo  <wingo@pobox.com>
6887
6888         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6889         data and event probes on the same pad.
6890         (test_buffer_probe_once): Test that removing probes from within
6891         the probe functions works.
6892
6893 2005-09-21  Andy Wingo  <wingo@pobox.com>
6894
6895         * check/gst/gstutils.c: New file.
6896         (test_buffer_probe_n_times): A simple buffer probe test. More to
6897         come, foolios.
6898
6899         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6900         have-data::buffer, not have-data.
6901         (gst_pad_add_event_probe): Likewise for have-data::event.
6902         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6903         peer' isn't quite right yet though.
6904         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6905         (gst_pad_remove_data_probe): Change to take the guint handler_id
6906         as their arg, not the function+data, which is more glib-like.
6907
6908         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6909         the signal emission to indicate if the data is a buffer or an
6910         event.
6911         (gst_pad_get_type): Initialize buffer and event quarks.
6912         (gst_pad_class_init): have-data is now a detailed signal, yes it
6913         is.
6914
6915 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6916
6917         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6918         * gst/gstutils.c: (gst_util_set_value_from_string),
6919         (gst_util_set_object_arg):
6920           Don't put functional code in g_return_if_fail() or
6921           g_return_val_if_fail() statements, otherwise things will 
6922           break when G_DISABLE_CHECKS is defined during compilation.
6923
6924 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6925
6926         * docs/gst/tmpl/.cvsignore:
6927         * docs/gst/tmpl/gstvalue.sgml:
6928         * gst/gstvalue.c:
6929         * gst/gstvalue.h:
6930           inlied another one and added  some obvious docs
6931
6932 2005-09-21  Wim Taymans  <wim@fluendo.com>
6933
6934         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6935         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6936         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6937         (gst_fdsrc_get_property), (gst_fdsrc_create):
6938         * gst/elements/gstfdsrc.h:
6939         Properly implement fdsrc. Removed signal and timeout,
6940         better implemented somewhere else.
6941
6942 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6943
6944         * docs/gst/tmpl/.cvsignore:
6945         * docs/gst/tmpl/gstimplementsinterface.sgml:
6946         * gst/gstinterface.c:
6947           inlined more docs
6948
6949 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6950
6951         * docs/gst/gstreamer-sections.txt:
6952         * docs/gst/tmpl/.cvsignore:
6953         * docs/gst/tmpl/gstenumtypes.sgml:
6954           remove obsolete doc file
6955
6956 2005-09-21  David Schleef  <ds@schleef.org>
6957
6958         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6959         little beer, fix a little leak.
6960
6961 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6962
6963         * docs/gst/gstreamer-docs.sgml:
6964         * docs/gst/gstreamer-sections.txt:
6965         * docs/gst/tmpl/.cvsignore:
6966         * gst/Makefile.am:
6967         * gst/gst.h:
6968         * gst/gstbin.c:
6969         * gst/gstelement.h:
6970         * gst/gstindex.c: (gst_index_class_init):
6971         * gst/gstindex.h:
6972         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6973         (gst_index_factory_class_init), (gst_index_factory_init),
6974         (gst_index_factory_finalize), (gst_index_factory_new),
6975         (gst_index_factory_destroy), (gst_index_factory_find),
6976         (gst_index_factory_create), (gst_index_factory_make):
6977         * gst/gstindexfactory.h:
6978         * gst/gstpluginfeature.c:
6979         * gst/gstpluginfeature.h:
6980         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6981           more docs inlined, splitted gstindex.{c,h}
6982
6983 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6984
6985         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6986           fix a leak
6987
6988 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6989
6990         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6991           Set sync to FALSE by default.
6992
6993 2005-09-20  Wim Taymans  <wim@fluendo.com>
6994
6995         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6996         (gst_base_sink_init):
6997         Make sync property settable from subclass.
6998
6999         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7000         (gst_fake_sink_change_state):
7001         Set sync to FALSE by default.
7002
7003 2005-09-20  Wim Taymans  <wim@fluendo.com>
7004
7005         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7006         * tools/gst-launch.c: (main):
7007         The timeout handler should have lower priority than the source
7008         so we don't timeout before popping a message with 0 timeout.
7009         Dump error messages after failed state change.
7010
7011 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7012
7013         * tools/gst-inspect.c: (print_element_properties_info):
7014           Fix two typos.
7015
7016 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7017
7018         * check/gst/gstevent.c:
7019         * gst/elements/gstfakesink.c:
7020         * gst/elements/gstfakesink.h:
7021           remove the sync property from fakesink.
7022           has the side effect of setting sync TRUE
7023           for fakesink, which is a change.  Anyone who knows how
7024           to fix this nicely in a GObject-y way, feel free.
7025
7026 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7027
7028         * docs/gst/gstreamer-docs.sgml:
7029           remove probe refsection
7030
7031 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7032
7033         * check/Makefile.am:
7034           disable valgrinding the controller test again
7035         * docs/gst/gstreamer-sections.txt:
7036           update for api-changes
7037
7038 2005-09-20  Wim Taymans  <wim@fluendo.com>
7039
7040         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7041         (gst_base_sink_set_property), (gst_base_sink_get_property),
7042         (gst_base_sink_do_sync):
7043         * gst/base/gstbasesink.h:
7044         Added sync property to basesink to disable clock sync.
7045
7046 2005-09-20  Andy Wingo  <wingo@pobox.com>
7047
7048         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7049         eating the caller's refcount.
7050
7051         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7052         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7053         refcount.
7054
7055         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7056         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7057         of GLib 2.8 public, so we can know which refcount to check in
7058         tests.
7059
7060         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7061         (gst_object_init): Only set the gst refcount if we're going ahead
7062         with the refcount hack.
7063
7064 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7065
7066         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7067         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7068           more leaks plumbed, added more debug-logging
7069         * gst/gstmacros.h:
7070           whitespace fix
7071
7072 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7073
7074         * gst/gstmessage.c:
7075           remove include of gstmemchunk.h
7076
7077 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7078
7079         * gst/gstclock.c: (_gst_clock_id_free):
7080           Commit from the Political Party For More Atomic CVS Commits,
7081           so that people don't waste too much of their day fishing
7082           out obvious leaks out of massive commits.
7083           Oh, and fix a pretty damn obvious leak in the memchunk
7084           removal code.
7085
7086 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7087
7088         * check/Makefile.am:
7089         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7090           plug mem-leak, re-add to valgrindable tests
7091
7092 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7093
7094         * gst/gstplugin.h:
7095           unbreak the build for those who have chronic arthritis
7096           and typing "make check" is just too taxing on the hands
7097
7098 2005-09-20  Andy Wingo  <wingo@pobox.com>
7099
7100         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7101         really want it out, you should fix plugins at the same time.
7102
7103 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7104
7105         * configure.ac:
7106         * docs/gst/gstreamer-sections.txt:
7107         * gst/gstobject.c:
7108           added missing symbols to api docs
7109           disable ref-count hack if we have glib >= 2.8
7110
7111 2005-09-19  David Schleef  <ds@schleef.org>
7112
7113         * docs/gst/Makefile.am: Ignore a few more internal headers
7114         * docs/gst/gstreamer-docs.sgml: Remove old sections
7115         * docs/gst/gstreamer-sections.txt: Remove old sections
7116         * docs/gst/tmpl/gstobject.sgml: update
7117         * docs/gst/tmpl/gstplugin.sgml: update
7118         * docs/gst/tmpl/gstpluginfeature.sgml: update
7119         * docs/random/ds/0.9-suggested-changes: update.
7120         * gst/Makefile.am: remove memchunk and trashstack, since they're
7121           not used.
7122         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7123         * gst/gst.h: don't include some headers
7124         * gst/gstchildproxy.c: add gstmarshal.h
7125         * gst/gstclock.c: Don't use memchunks
7126         * gst/gstminiobject.c: Add some docs
7127         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7128         * gst/gstobject.h: same
7129         * gst/gstplugin.c: include gstmacros.h
7130         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7131         * gst/gstquery.c: don't use memchunks
7132         * gst/gstregistry.c: rename gst_registry_deinit()
7133         * gst/gstregistry.h: same
7134
7135 2005-09-19  David Schleef  <ds@schleef.org>
7136
7137         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7138         * docs/libs/gstreamer-libs-sections.txt:
7139         * docs/libs/tmpl/gstgetbits.sgml:
7140         * docs/libs/tmpl/gstputbits.sgml:
7141
7142 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7143
7144         * win32/gstenumtypes.c:
7145         * win32/gstenumtypes.h:
7146           Update.
7147
7148 2005-09-19  Wim Taymans  <wim@fluendo.com>
7149
7150         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7151         Automatically PAUSE and RESUME a pipeline when a flushing seek
7152         is performed.
7153
7154 2005-09-19  Andy Wingo  <wingo@pobox.com>
7155
7156         * gst/gstregistry.h: Spacing fixen.
7157
7158 2005-09-19  Wim Taymans  <wim@fluendo.com>
7159
7160         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7161         Handle state change failure more correctly.
7162
7163 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7164
7165         * check/Makefile.am:
7166         * check/pipelines/cleanup.c: (run_pipeline):
7167         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7168         (GST_START_TEST):
7169           enable cleanup again after fixing the leak
7170         * docs/README:
7171           some more info on docs
7172
7173 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * check/Makefile.am:
7176           re-enable tests now that leaks are plugged
7177         * check/gst/gst.c:
7178         * check/gst/gstbin.c:
7179         * check/gst/gstpipeline.c:
7180           add some more tests while fixing leaks
7181         * common/check.mak:
7182           make sure binaries are uptodate when valgrinding/gdbing
7183         * gst/gst.c:
7184         * gst/gstelementfactory.c:
7185           remove a ref too many, and add a FIXME for when we get
7186           round to disposing of classes
7187         * gst/gstplugin.c:
7188           fix the refcounting when loading a plugin from a file and
7189           the code pretends that the pointer is the same even though
7190           of course it can change
7191         * gst/gstpluginfeature.c:
7192           unref plugins marked cached (a bit confusing as a name)
7193           as the docs state should be done
7194           various doc additions to explain refcounting
7195         * gst/gstregistry.c:
7196         * gst/gstregistryxml.c:
7197           debugging
7198
7199 2005-09-19  Wim Taymans  <wim@fluendo.com>
7200
7201         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7202         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7203         (send_messages), (GST_START_TEST), (gstbus_suite):
7204         * check/gst/gstpipeline.c: (GST_START_TEST):
7205         * check/pipelines/cleanup.c: (run_pipeline):
7206         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7207         (GST_START_TEST):
7208         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7209         (gst_bus_source_check), (gst_bus_source_dispatch),
7210         (gst_bus_create_watch), (gst_bus_add_watch_full),
7211         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7212         * gst/gstbus.h:
7213         * tools/gst-launch.c: (event_loop):
7214         * tools/gst-md5sum.c: (event_loop):
7215         GstBusHandler -> GstBusFunc, return value has the same meaning as
7216         any other GSource (FALSE == remove source).
7217         _add_watch() and _add_watch_full() now take a MessageType mask to
7218         only handle specific types of messages.
7219         _poll() returns the GstMessage instead of the message type to avoid
7220         race conditions.
7221         _have_pending() takes a MessageType mask now too.
7222         Added testsuite for multiple bus watches.
7223         Fix testsuites and applications for new bus API.
7224
7225 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7226
7227         * check/Makefile.am:
7228           mark a bunch of the tests as to fix until we fix them
7229
7230 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7231
7232         * common/check.mak:
7233           use GST_PLUGIN settings for valgrind tests as well, so we're
7234           valgrinding the correct thing
7235         * gst/gst.c: (init_post):
7236           plug another leak
7237
7238 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7239
7240         * gst/gst.c: (init_post), (gst_deinit):
7241         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7242         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7243         * gst/gstindex.c: (gst_index_factory_class_init),
7244         (gst_index_factory_finalize):
7245         * gst/gstobject.c: (gst_object_dispose):
7246         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7247         (gst_plugin_load_file), (gst_plugin_desc_free):
7248         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7249         (gst_plugin_feature_finalize):
7250         * gst/gstregistry.c: (gst_registry_class_init),
7251         (gst_registry_init), (gst_registry_finalize),
7252         (gst_registry_get_default), (gst_registry_deinit):
7253         * gst/gstregistry.h:
7254         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7255           various cleanups and memleak plugging.  make valgrind is happy now.
7256
7257 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7258
7259         * common/check.mak:
7260           add a check-valgrind target
7261
7262 2005-09-18  David Schleef  <ds@schleef.org>
7263
7264         * tools/gst-inspect.c: Revert the GOption code.
7265
7266 2005-09-17  David Schleef  <ds@schleef.org>
7267
7268         * check/Makefile.am: Fix environment variables.
7269         * check/gst/gstplugin.c: Fix for API changes.
7270         * tools/gst-inspect.c: Fix for API changes.
7271         * tools/gst-xmlinspect.c: Fix for API changes.
7272         * gst/gstelementfactory.c:
7273         * gst/gstplugin.c:
7274         * gst/gstplugin.h:
7275         * gst/gstpluginfeature.c:
7276         * gst/gstpluginfeature.h:
7277         * gst/gstregistry.c:
7278         * gst/gstregistry.h:
7279         * gst/gstregistryxml.c:
7280         * gst/gsttypefind.c:
7281         * gst/gsttypefindfactory.c:
7282         * gst/indexers/gstfileindex.c:
7283         * gst/indexers/gstmemindex.c:
7284         * gst/schedulers/Makefile.am:
7285           Change registry to keep track of both plugins and features,
7286           removing the feature tracking from plugins themselves.
7287
7288 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7289
7290         * check/Makefile.am:
7291         * tools/gst-register.1.in:
7292           remove gst-register
7293
7294 2005-09-15  David Schleef  <ds@schleef.org>
7295
7296         * check/gst/gstplugin.c:
7297         * gst/gstelementfactory.c:
7298         * gst/gstplugin.c:
7299         * gst/gstpluginfeature.c:
7300         * gst/gstregistry.c:
7301           Getting tired of debugging.  Disabled all the unreffing of
7302           plugins and features, which fixes the segfaults, but of
7303           course leaks like crazy.  At least playbin works.
7304
7305 2005-09-15  David Schleef  <ds@schleef.org>
7306
7307         * check/gst/gstplugin.c: (register_check_elements),
7308         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
7309         More testing
7310         * gst/elements/gsttypefindelement.c: Fix refcounting.
7311         * gst/gsttypefind.c:
7312         * gst/gsttypefindfactory.c:
7313         * gst/gsttypefindfactory.h:
7314
7315 2005-09-15  David Schleef  <ds@schleef.org>
7316
7317         * gst/gstindex.c: get refcounting correct.
7318         * gst/gstregistry.c: Handle the case where a feature/plugin is
7319           not found.
7320
7321 2005-09-15  David Schleef  <ds@schleef.org>
7322
7323         * check/Makefile.am:
7324         * check/gst/gstplugin.c: Add test
7325         * gst/gstplugin.c: Fix problems noticed by testsuite
7326         * gst/gstplugin.h:
7327         * gst/gstregistry.c: 
7328         * gst/gstregistry.h:
7329
7330 2005-09-15  David Schleef  <ds@schleef.org>
7331
7332         * gst/gstplugin.c: Implement semi-decent recounting and locking
7333           in plugins and plugin features.
7334         * gst/gstplugin.h:
7335         * gst/gstpluginfeature.c:
7336         * gst/gstpluginfeature.h:
7337         * gst/gstregistry.c:
7338
7339 2005-09-15  Michael Smith <msmith@fluendo.com>
7340
7341         * gst/gstregistry.c: (gst_registry_get_feature_list):
7342           Implement this. Makes oggdemux work; decodebin still broken.
7343
7344 2005-09-14  David Schleef  <ds@schleef.org>
7345
7346         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
7347           #316076)
7348         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
7349         * gst/check/Makefile.am:
7350         * libs/gst/controller/Makefile.am:
7351         * libs/gst/dataprotocol/Makefile.am:
7352
7353 2005-09-14  David Schleef  <ds@schleef.org>
7354
7355         * configure.ac: Remove getbits library.  Nothing uses it, and
7356           it should be in something like liboil if someone did want
7357           to use it.
7358         * libs/gst/Makefile.am:
7359         * libs/gst/getbits/Makefile.am:
7360         * libs/gst/getbits/gbtest.c:
7361         * libs/gst/getbits/getbits.c:
7362         * libs/gst/getbits/getbits.h:
7363         * libs/gst/getbits/gstgetbits_generic.c:
7364         * libs/gst/getbits/gstgetbits_i386.s:
7365         * libs/gst/getbits/gstgetbits_inl.h:
7366
7367 2005-09-14  David Schleef  <ds@schleef.org>
7368
7369         * gst/Makefile.am: Dist glib-compat.h
7370
7371 2005-09-14  David Schleef  <ds@schleef.org>
7372
7373         * configure.ac: Remove gst/registries, since it's no longer used.
7374         * gst/registries/Makefile.am:
7375         * gst/registries/gstlibxmlregistry.c:
7376         * gst/registries/gstlibxmlregistry.h:
7377         * gst/registries/gstxmlregistry.c:
7378         * gst/registries/gstxmlregistry.h:
7379         * gst/registries/registrytest.c:
7380
7381 2005-09-14  David Schleef  <ds@schleef.org>
7382
7383         * gst/glib-compat.h:
7384         * gst/gstregistryxml.c:
7385           Convergence is near.  Seriously.
7386
7387 2005-09-14  David Schleef  <ds@schleef.org>
7388
7389         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7390         * gst/glib-compat.h:
7391           Attempt #4 to appease the buildbots.
7392
7393 2005-09-14  David Schleef  <ds@schleef.org>
7394
7395         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7396           Attempt #3.
7397
7398 2005-09-14  David Schleef  <ds@schleef.org>
7399
7400         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7401         Attempt #2.
7402
7403 2005-09-14  David Schleef  <ds@schleef.org>
7404
7405         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
7406           the new functions.
7407
7408 2005-09-14  David Schleef  <ds@schleef.org>
7409
7410         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
7411         * gst/glib-compat.h: Add some functions that are in newer versions
7412           of glib than we care to require.
7413         * gst/gstregistryxml.c: Use them.
7414
7415 2005-09-14  David Schleef  <ds@schleef.org>
7416
7417         * po/POTFILES.in: remove gst-register.c
7418
7419 2005-09-14  David Schleef  <ds@schleef.org>
7420
7421         * docs/gst/gstreamer-docs.sgml:
7422         * docs/gst/gstreamer-sections.txt:
7423         * docs/gst/gstreamer.types:
7424         * docs/gst/tmpl/gstelement.sgml:
7425         * docs/gst/tmpl/gstplugin.sgml:
7426         * docs/gst/tmpl/gstpluginfeature.sgml:
7427           Documentation updates for registry changes.
7428
7429 2005-09-14  David Schleef  <ds@schleef.org>
7430
7431         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
7432           because we don't require glib-2.8.
7433
7434 2005-09-14  David Schleef  <ds@schleef.org>
7435
7436         * gst/gstregistryxml.c: Added.  Essentially moved out of the
7437           registries directory.
7438
7439 2005-09-14  David Schleef  <ds@schleef.org>
7440
7441         * check/Makefile.am:
7442         * check/generic/states.c:
7443         * gst/Makefile.am:
7444         * gst/gst.c:
7445         * gst/gst.h:
7446         * gst/gst_private.h:
7447         * gst/gstelementfactory.c:
7448         * gst/gstindex.c:
7449         * gst/gstinfo.c:
7450         * gst/gstplugin.c:
7451         * gst/gstplugin.h:
7452         * gst/gstpluginfeature.c:
7453         * gst/gstpluginfeature.h:
7454         * gst/gstregistry.c:
7455         * gst/gstregistry.h:
7456         * gst/gstregistrypool.c: remove
7457         * gst/gstregistrypool.h: remove
7458         * gst/gsttypefind.c:
7459         * gst/gsttypefindfactory.c:
7460         * gst/gsturi.c:
7461         * tools/Makefile.am:
7462         * tools/gst-compprep.c:
7463         * tools/gst-inspect.c:
7464         * tools/gst-register.c: remove
7465         * tools/gst-xmlinspect.c:
7466           Registry rewrite.  Changes registry from being a file created
7467           by a tool into a simple cache file created automatically by 
7468           libgstreamer.  Removed gst-register (because it's no longer
7469           needed).  Remove registry pools, because we only have one
7470           registry implementation (XML).  Fix up other subsystems as
7471           necessary.
7472
7473 2005-09-13  Michael Smith <msmith@fluendo.com>
7474
7475         * gst/gstconfig.h.in:
7476           Don't Use windows linking attributes for MinGW. Fixes #316157
7477
7478 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7479
7480         * gst/gstutils.c: (set_state_async_thread_func),
7481         (gst_element_set_state_async):
7482           Apparently people think it's better if this function doesn't
7483           try to set the state to whatever state was asked for on the first
7484           call to this function for any object.  Seriously.
7485
7486 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7487
7488         * check/gst/gstpipeline.c: (GST_START_TEST):
7489         * docs/gst/gstreamer-sections.txt:
7490         * gst/gstutils.c: (set_state_async_thread_func),
7491         (gst_element_set_state_async):
7492         * gst/gstutils.h:
7493           add a "gst_element_set_state_async" method that
7494           sets the state and starts a thread to make sure the state
7495           change completes as best as it can
7496
7497 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7498
7499         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7500           codify design+behaviour in testsuite after discussion
7501
7502 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7503
7504         * docs/gst/tmpl/gstelement.sgml:
7505         * docs/manual/appendix-quotes.xml:
7506           add a quote
7507         * gst/gstelement.c: (gst_element_set_state):
7508           add some debug
7509
7510 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7511
7512         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7513         (gst_base_transform_prepare_output_buf),
7514         (gst_base_transform_handle_buffer):
7515         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7516         (gst_capsfilter_prepare_buf):
7517           Remove the requirement for sub-classes to call the parent
7518           implementation of prepare_output_buffer with a wrapper function.
7519           
7520         * gst/gsttaglist.h:
7521         * gst/gsttagsetter.h:
7522           Fix #define wrapper
7523
7524 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7525
7526         * docs/gst/gstreamer-sections.txt:
7527           more doc cleanups
7528
7529 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7530
7531         * docs/gst/gstreamer-sections.txt:
7532         * docs/gst/tmpl/gstelement.sgml:
7533         * docs/gst/tmpl/gstplugin.sgml:
7534         * gst/gstminiobject.c:
7535         * gst/gstvalue.h:
7536           docs now stop throwing warnings
7537
7538 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7539
7540         * docs/gst/gstreamer-sections.txt:
7541         * docs/gst/gstreamer.types:
7542         * docs/gst/tmpl/gstpad.sgml:
7543         * docs/gst/tmpl/gsttypes.sgml:
7544         * gst/base/gstadapter.h:
7545         * gst/base/gstbasesink.h:
7546         * gst/base/gstbasesrc.h:
7547         * gst/gstbin.h:
7548         * gst/gstbuffer.h:
7549         * gst/gstbus.h:
7550         * gst/gstcaps.h:
7551         * gst/gstclock.h:
7552         * gst/gstelement.h:
7553         * gst/gstevent.h:
7554         * gst/gstmessage.h:
7555         * gst/gstpad.h:
7556         * gst/gststructure.c:
7557         * gst/registries/gstlibxmlregistry.h:
7558           various documentation fixes
7559
7560 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * docs/gst/gstreamer-sections.txt:
7563         * docs/gst/tmpl/gstvalue.sgml:
7564           rearrange gstvalue section
7565         * gst/gstutils.c: (gst_element_state_get_name):
7566           NONE -> VOID
7567         * gst/gstvalue.c: (_gst_value_initialize):
7568         * gst/gstvalue.h:
7569           doc updates
7570
7571 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7572
7573         * check/gst-libs/controller.c:
7574           Header include fix.
7575         * gst/base/gstbasetransform.c:
7576         (gst_base_transform_default_prepare_buf),
7577         (gst_base_transform_handle_buffer):
7578         * gst/base/gstbasetransform.h:
7579           Some more basetransform changes and fixes to enable sub-classes
7580           that modify buffer metadata only.
7581         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7582         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7583         (gst_capsfilter_prepare_buf):
7584           If the output pad has fixed allowed caps and input buffers 
7585           don't have any, set the fixed caps on outgoing buffers.
7586
7587 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7588         * check/elements/identity.c: (GST_START_TEST):
7589           Make the error a little clearer when the test fails because
7590           identity made a copy of the buffer.
7591         * docs/gst/gstreamer-sections.txt:
7592           New symbols in gstbasetransform.h
7593         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7594         (gst_base_transform_init), (gst_base_transform_transform_size),
7595         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7596         (gst_base_transform_default_prepare_buf),
7597         (gst_base_transform_get_unit_size),
7598         (gst_base_transform_buffer_alloc),
7599         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7600         (gst_base_transform_change_state),
7601         (gst_base_transform_set_passthrough),
7602         (gst_base_transform_set_in_place),
7603         (gst_base_transform_is_in_place):
7604         * gst/base/gstbasetransform.h:
7605           Change BaseTransform to separate in_place operate from same_caps
7606           output. in_place implies that the element can perform the transform
7607           on incoming buffers in-place, even if the caps on the output are
7608           different.
7609           Sub-class elements can now implement special buffer allocation
7610           methods for outgoing buffers if they wish to.
7611           Big documentation addition.
7612         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7613         * gst/elements/gstelements.c:
7614           Changes for basetransform modifications.
7615         * gst/elements/Makefile.am:
7616         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7617           Compile fix. Extra debug output.
7618
7619 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7620
7621         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7622         (gst_pad_suite):
7623           add tests for valid pad naming
7624         * gst/check/gstcheck.c: (gst_check_log_message_func),
7625         (gst_check_log_critical_func):
7626           add ASSERT_WARNING
7627           remove printing of code, it is fragile when the code contains
7628           % and the line number is enough info
7629         * gst/check/gstcheck.h:
7630         * gst/gstpad.c: (gst_pad_template_new):
7631           fix memleaks
7632
7633 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * configure.ac:
7636           say what CHECK flags we use
7637         * docs/libs/gstreamer-libs.types:
7638         * libs/gst/controller/Makefile.am:
7639         * libs/gst/controller/gst-controller.c:
7640         * libs/gst/controller/gst-controller.h:
7641         * libs/gst/controller/gst-helper.c:
7642         * libs/gst/controller/gst-interpolation.c:
7643         * libs/gst/controller/gstcontroller.c:
7644         * libs/gst/controller/gsthelper.c:
7645         * libs/gst/controller/gstinterpolation.c:
7646         * tools/gst-inspect.c: (print_plugin_info):
7647           we don't use dashes in header names
7648
7649 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7650
7651         * check/Makefile.am:
7652         * check/gst/.cvsignore:
7653         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7654         (gst_pipeline_suite), (main):
7655           adding a test for pipelines and state changes
7656         * gst/gstutils.c: (get_state_func):
7657           add some debugging
7658         * gstreamer.spec.in:
7659           fix up spec file
7660
7661 2005-09-08  Michael Smith <msmith@fluendo.com>
7662
7663         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7664         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7665         (gst_file_src_is_seekable), (gst_file_src_get_size),
7666         (gst_file_src_start):
7667         * gst/elements/gstfilesrc.h:
7668           Various fixes for unseekable, unmmapable, and non-normal files, so
7669           that fallback to read() rather than mmap() works.
7670         * gst/gstevent.c: (gst_event_new_newsegment):
7671           Allow newsegment events with segment_start == segment_end, as will
7672           correctly happen if you use filesrc on a zero-size file, for
7673           example.
7674
7675 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7676
7677         * gst/gstplugin.c: (gst_plugin_load_file):
7678           Call g_module_close when we don't load the module
7679
7680         * gst/registries/gstlibxmlregistry.c:
7681         (gst_xml_registry_get_property):
7682           Port leak fix from 0.8
7683
7684 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7685
7686         * docs/gst/gstreamer-docs.sgml:
7687         * docs/gst/tmpl/.cvsignore:
7688         * docs/gst/tmpl/gsttrace.sgml:
7689         * docs/gst/tmpl/gsttrashstack.sgml:
7690         * gst/Makefile.am:
7691         * gst/gst.h:
7692         * gst/gstelement.h:
7693         * gst/gstevent.h:
7694         * gst/gstmessage.c:
7695         * gst/gstmessage.h:
7696         * gst/gsttag.c:
7697         * gst/gsttag.h:
7698         * gst/gsttaginterface.c:
7699         * gst/gsttaginterface.h:
7700         * gst/gsttaglist.c:
7701         * gst/gsttaglist.h:
7702         * gst/gsttagsetter.c:
7703         * gst/gsttagsetter.h:
7704         * gst/gsttrace.c:
7705         * gst/gsttrace.h:
7706         * gst/gsttrashstack.c:
7707           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7708           inlined docs for gsttrace, gsttrashstack
7709
7710 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7711
7712         * gst/Makefile.am:
7713         * gst/elements/gstbufferstore.h:
7714         * gst/elements/gsttypefindelement.c:
7715         * gst/elements/gsttypefindelement.h:
7716         * gst/gst.h:
7717         * gst/gsttypefind.c:
7718         * gst/gsttypefind.h:
7719         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7720         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7721         (gst_type_find_factory_dispose),
7722         (gst_type_find_factory_unload_thyself),
7723         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7724         (gst_type_find_factory_get_caps),
7725         (gst_type_find_factory_get_extensions),
7726         (gst_type_find_factory_call_function):
7727         * gst/gsttypefindfactory.h:
7728         * gst/registries/gstlibxmlregistry.c:
7729         * gst/registries/gstxmlregistry.c:
7730           splitted gsttypefind into gsttypefind, gsttypefindfactory
7731
7732 2005-09-07  Andy Wingo  <wingo@pobox.com>
7733
7734         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7735         condition whereby the pad's task function is entered before the
7736         pad_mode variable was set.
7737
7738 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7739
7740         * gst/gstpad.c: (gst_pad_alloc_buffer):
7741           Catch misbehaving pad_alloc functions that don't
7742           set up caps and do it for them.
7743
7744 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7745
7746         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7747           test for pipe!=NULL
7748         * docs/gst/tmpl/.cvsignore:
7749         * docs/gst/tmpl/gstmemchunk.sgml:
7750         * docs/gst/tmpl/gstparse.sgml:
7751         * docs/gst/tmpl/gsttaglist.sgml:
7752         * docs/gst/tmpl/gsttagsetter.sgml:
7753         * docs/gst/tmpl/gsttypefind.sgml:
7754         * docs/gst/tmpl/gsttypefindfactory.sgml:
7755         * gst/gstmemchunk.c:
7756         * gst/gstparse.c:
7757         * gst/gsttag.c:
7758         * gst/gsttaginterface.c:
7759         * gst/gsttypefind.c:
7760         * gst/gsttypefind.h:
7761           inlined more docs
7762
7763 === release 0.9.2 ===
7764
7765 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7766
7767         * NEWS:
7768         * RELEASE:
7769         * configure.ac:
7770           releasing 0.9.2, "South"
7771
7772 2005-09-05  Andy Wingo  <wingo@pobox.com>
7773
7774         * gst/registries/gstxmlregistry.h:
7775         * gst/registries/gstxmlregistry.c: Um... resurrect...
7776         
7777         * gst/registries/gstxmlregistry.h:
7778         * gst/registries/gstxmlregistry.c: and update to newer API.
7779         Incidentally they should be a bit faster now that they don't have
7780         to parse the caps.
7781         
7782 2005-09-05  Andy Wingo  <wingo@pobox.com>
7783
7784         * gst/registries/gstxmlregistry.h:
7785         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7786         replaced by the libxml registry a while back
7787
7788 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7789
7790         * docs/gst/tmpl/gstplugin.sgml:
7791         * gst/elements/gstelements.c:
7792         * gst/gst.c:
7793         * gst/gstplugin.c: (gst_plugin_register_func),
7794         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7795         (gst_plugin_get_source):
7796         * gst/gstplugin.h:
7797         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7798         (gst_xml_registry_save_plugin):
7799         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7800         (gst_xml_registry_save_plugin):
7801         * tools/gst-inspect.c: (print_plugin_info):
7802           add a "source" plugin description field, to represent the source
7803           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7804           will set it to PACKAGE, which is automake's idea of the name of
7805           the source project.
7806
7807 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7808
7809         * Makefile.am:
7810         * autogen.sh:
7811         * configure.ac:
7812         * docs/Makefile.am:
7813         * docs/faq/Makefile.am:
7814         * docs/gst/tmpl/gstelement.sgml:
7815         * docs/gst/tmpl/gsttypes.sgml:
7816         * docs/htmlinstall.mak:
7817         * docs/manual/Makefile.am:
7818         * docs/pwg/Makefile.am:
7819           reorganize doc build a little
7820           split out docbook and gtk-doc stuff
7821           have two separate --enable's and enable them through autogen
7822           but disable by default in configure (to be similar to other
7823           projects)
7824         * gstreamer.spec.in:
7825           clean up docs install
7826         * po/af.po:
7827         * po/az.po:
7828         * po/ca.po:
7829         * po/cs.po:
7830         * po/de.po:
7831         * po/en_GB.po:
7832         * po/fr.po:
7833         * po/it.po:
7834         * po/nb.po:
7835         * po/nl.po:
7836         * po/ru.po:
7837         * po/sq.po:
7838         * po/sr.po:
7839         * po/sv.po:
7840         * po/tr.po:
7841         * po/uk.po:
7842         * po/vi.po:
7843           translation updates
7844
7845 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7846
7847         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7848           Add comment.
7849           
7850         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7851         (gst_fake_sink_change_state):
7852           Make state change function thread-safe.
7853           
7854         * gst/gstpad.c: (gst_pad_alloc_buffer):
7855           Set offset on generic buffer allocated by fallback.
7856
7857 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7858
7859         * docs/gst/gstreamer-sections.txt:
7860         * docs/gst/tmpl/gstelement.sgml:
7861         * gst/gstpad.c:
7862         * libs/gst/controller/gst-controller.c:
7863         (gst_controlled_property_set_interpolation_mode),
7864         (gst_controlled_property_new),
7865         (gst_controller_find_controlled_property):
7866          run the wingo-magic script against the docs
7867
7868 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7869
7870         * docs/gst/gstreamer-docs.sgml:
7871         * docs/gst/gstreamer-sections.txt:
7872         * docs/gst/tmpl/.cvsignore:
7873         * docs/gst/tmpl/gstelementdetails.sgml:
7874         * docs/gst/tmpl/gstelementfactory.sgml:
7875         * gst/gst.c:
7876         * gst/gstbus.c:
7877         * gst/gstelementfactory.c:
7878         * gst/gstelementfactory.h:
7879           merged elementdetails docs into elementfactory docs
7880           inlined both
7881
7882 2005-09-02  Andy Wingo  <wingo@pobox.com>
7883
7884         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7885         consider this enum an enum and not a flags.
7886
7887 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7888
7889         * docs/gst/gstreamer-docs.sgml:
7890         * docs/gst/tmpl/.cvsignore:
7891         * docs/gst/tmpl/gstghostpad.sgml:
7892         * docs/gst/tmpl/gstiterator.sgml:
7893         * docs/gst/tmpl/gstmacros.sgml:
7894         * docs/gst/tmpl/gstrealpad.sgml:
7895         * docs/gst/tmpl/gstregistry.sgml:
7896         * docs/gst/tmpl/gstregistrypool.sgml:
7897         * docs/gst/tmpl/gststructure.sgml:
7898         * docs/gst/tmpl/gstsystemclock.sgml:
7899         * docs/gst/tmpl/gsttrace.sgml:
7900         * gst/gstghostpad.c:
7901         * gst/gstmacros.h:
7902         * gst/gstmemchunk.c:
7903         * gst/gstmemchunk.h:
7904         * gst/gstqueue.c:
7905         * gst/gstregistry.c:
7906         * gst/gstregistrypool.c:
7907         * gst/gststructure.c:
7908         * gst/gstsystemclock.c:
7909           more docs inlined
7910
7911 2005-09-02  Andy Wingo  <wingo@pobox.com>
7912
7913         * gst/gstelement.h (GstState): Renamed from GstElementState,
7914         changed to be a normal enum instead of flags.
7915         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7916         munged to be GST_STATE_CHANGE_*.
7917         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7918         work with the new state representation.
7919         (GstStateChange): New enumeration of possible state transitions.
7920         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7921         (GstElementClass::change_state): Pass the GstStateChange along as
7922         an argument. Helps language bindings, so they don't have to use
7923         tricky lock-needing macros like GST_STATE_CHANGE ().
7924
7925         * scripts/update-states (file): New script. Run it on a file to
7926         update it for state naming and API changes. Updates files in
7927         place.
7928
7929         * All files updated for the new API.
7930
7931 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7932
7933         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7934         * gst/gstutils.c: (gst_util_set_value_from_string),
7935         (gst_util_set_object_arg):
7936           fix a bunch of unchecked return values
7937         * tools/gst-complete.c: (main):
7938         * gstreamer.spec.in:
7939           clean up a little
7940
7941 2005-09-01  Wim Taymans  <wim@fluendo.com>
7942
7943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7944         (gst_base_sink_event), (gst_base_sink_do_sync),
7945         (gst_base_sink_handle_event):
7946         * gst/base/gstbasesink.h:
7947         Handle newsegments more correctly.
7948
7949         * gst/gstbus.c:
7950         Fix docs.
7951
7952         * gst/gstevent.c: (gst_event_new_newsegment):
7953         A newsegment cannot have a start_time of -1
7954
7955 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7956
7957         * win32/gstenumtypes.c:
7958         * win32/gstenumtypes.h:
7959           Update
7960
7961 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7962
7963         * libs/gst/controller/gst-controller.c:
7964         (gst_controlled_property_set_interpolation_mode),
7965         (gst_controlled_property_new):
7966          fixed boolean again
7967
7968 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7969
7970         * docs/faq/gst-uninstalled:
7971           add -good
7972         * gst/gstevent.c:
7973         * gst/gstevent.h:
7974           remove wrong docs
7975         * gst/gstutils.c: (gst_element_link_filtered):
7976         * gst/gstutils.h:
7977           add gst_element_link_filtered
7978
7979 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7980
7981         * docs/gst/gstreamer-docs.sgml:
7982         * docs/gst/gstreamer-sections.txt:
7983         * docs/gst/tmpl/.cvsignore:
7984         * docs/gst/tmpl/gsterror.sgml:
7985         * docs/gst/tmpl/gstfilter.sgml:
7986         * docs/gst/tmpl/gsturihandler.sgml:
7987         * docs/gst/tmpl/gsturitype.sgml:
7988         * docs/gst/tmpl/gstutils.sgml:
7989         * docs/gst/tmpl/gstxml.sgml:
7990         * gst/gsterror.c:
7991         * gst/gsterror.h:
7992         * gst/gstfilter.c:
7993         * gst/gsturi.c:
7994         * gst/gsturitype.c:
7995         * gst/gstutils.c:
7996         * gst/gstxml.c:
7997           inlined more docs, fixed double id-ref
7998
7999 2005-08-31  Wim Taymans  <wim@fluendo.com>
8000
8001         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8002         (gst_base_transform_handle_buffer):
8003         Passthrough elements don't need the caps as they don't care.
8004
8005 2005-08-31  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8008         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8009         Don't leak refcounts on buffers.
8010
8011 2005-08-31  Wim Taymans  <wim@fluendo.com>
8012
8013         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8014         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8015         (gst_base_transform_chain), (gst_base_transform_change_state):
8016         * gst/base/gstbasetransform.h:
8017         Handle the case where we are not negotiated more gracefully.
8018
8019 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8020
8021         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8022         (gst_file_src_map_region):
8023           Set READONLY flag on mmap'ed buffers, otherwise
8024           gst_buffer_make_writable() won't work properly (#314708).
8025
8026 2005-08-31  Wim Taymans  <wim@fluendo.com>
8027
8028         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8029         passthrough elements can even do inplace on non writable
8030         buffers (as they don't touch them).
8031
8032 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8033
8034         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8035         (gst_test_mono_source_set_property),
8036         (gst_test_mono_source_class_init), (GST_START_TEST),
8037         (gst_controller_suite):
8038           more tests (hehe I have the most)
8039         * gst/gstbus.c:
8040           describe popping messages whenusing mulltiple sources
8041         * libs/gst/controller/gst-controller.c:
8042         (gst_controlled_property_set_interpolation_mode),
8043         (gst_controlled_property_new):
8044         * libs/gst/controller/gst-controller.h:
8045         * libs/gst/controller/gst-interpolation.c:
8046           implement boolean properties
8047
8048 2005-08-31  Wim Taymans  <wim@fluendo.com>
8049
8050         * gst/gstminiobject.c: (gst_mini_object_ref):
8051         Cannot assert that the refcount has to be positive
8052         since a disposed object can be resurrected.
8053
8054 2005-08-31  Wim Taymans  <wim@fluendo.com>
8055
8056         * gst/gstpad.c: (gst_pad_init):
8057         Revert change, need to first fix badly behaving 
8058         apps.
8059
8060 2005-08-30  Wim Taymans  <wim@fluendo.com>
8061
8062         * check/elements/fakesrc.c: (setup_fakesrc):
8063         * check/elements/identity.c: (setup_identity):
8064         Activate pads before using them.
8065
8066 2005-08-30  Wim Taymans  <wim@fluendo.com>
8067
8068         * gst/base/gstadapter.c: (gst_adapter_flush):
8069         Flushing out 0 bytes is ok for this function.
8070
8071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8072         no newsegment gives a warning and sets the start/stop to 
8073         invalid.
8074
8075         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8076         (gst_base_transform_set_passthrough):
8077         Some debug info.
8078
8079         * gst/gstminiobject.c: (gst_mini_object_ref):
8080         Check refcount here too.
8081
8082         * gst/gstpad.c: (gst_pad_init):
8083         Pads are initially flushing and refusing data.
8084
8085         * gst/gstutils.c: (gst_element_link_pads_filtered):
8086         When adding a capsfilter element make sure it has the
8087         same state as the parent bin.
8088
8089 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8090
8091         * docs/gst/tmpl/.cvsignore:
8092         * docs/gst/tmpl/gstformat.sgml:
8093         * docs/gst/tmpl/gstversion.sgml:
8094         * gst/gstbus.h:
8095         * gst/gstformat.c:
8096         * gst/gstformat.h:
8097         * gst/gstversion.h.in:
8098           more docs and two more inlined
8099
8100 2005-08-30  Wim Taymans  <wim@fluendo.com>
8101
8102         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8103         Don't sync to clock.
8104
8105 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8106
8107         * docs/gst/gstreamer-sections.txt:
8108           ultral33t func10ns deserve to appear in the docs actually
8109         * docs/gst/tmpl/.cvsignore:
8110         * docs/gst/tmpl/gstcompat.sgml:
8111         * docs/gst/tmpl/gstconfig.sgml:
8112         * gst/check/gstcheck.c:
8113         * gst/gstcompat.h:
8114         * gst/gstconfig.h.in:
8115           inlined more docs
8116
8117 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8118
8119         * docs/gst/tmpl/.cvsignore:
8120         * docs/gst/tmpl/gstquery.sgml:
8121         * docs/gst/tmpl/gstutils.sgml:
8122         * gst/gstquery.c:
8123         * gst/gstquery.h:
8124           inlined and extended docs
8125
8126 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8127
8128         * check/gst-libs/controller.c: (GST_START_TEST),
8129         (gst_controller_suite):
8130           more tests
8131         * docs/gst/tmpl/gstutils.sgml:
8132         * docs/libs/gstreamer-libs-sections.txt:
8133         * docs/libs/tmpl/gstdataprotocol.sgml:
8134           include path fixes
8135         * examples/controller/audio-example.c: (main):
8136           controller example works now
8137         * gst/gstclock.h:
8138           doc fixes
8139         * tools/gst-inspect.c: (print_element_properties_info):
8140           show param spec flags
8141
8142 2005-08-29  Andy Wingo  <wingo@pobox.com>
8143
8144         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8145
8146 2005-08-28  Andy Wingo  <wingo@pobox.com>
8147
8148         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8149         as having two arguments instead of just one. Allows superclasses
8150         to access information on subclasses -- see the terrible for() loop
8151         in gtype.c:g_type_create_instance for the reason why. All callers
8152         changed.
8153
8154 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8155
8156         * docs/design/part-messages.txt:
8157           update info
8158         * docs/gst/tmpl/.cvsignore:
8159         * docs/gst/tmpl/gstcaps.sgml:
8160         * docs/gst/tmpl/gstclock.sgml:
8161         * gst/gstbus.c:
8162         * gst/gstcaps.c:
8163         * gst/gstcaps.h:
8164         * gst/gstclock.c:
8165         * gst/gstclock.h:
8166         * gst/gstmessage.c:
8167           added descriptions for bus and message
8168           inline caps and clock docs
8169
8170 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8171
8172         * gst/gstmessage.c:
8173         * gst/gstmessage.h:
8174           doc fixes
8175
8176 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8177
8178         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8179           fix div-by-zero
8180
8181 2005-08-26  Andy Wingo  <wingo@pobox.com>
8182
8183         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8184         element_set_state's return val.
8185         (test_2_elements): Add test that's been disabled for months.
8186
8187         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8188         can-activate-pull properties.
8189
8190         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8191         can-activate-pull properties. Implement is_seekable so fakesrc can
8192         operate in pull mode.
8193
8194         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8195         properties.
8196         (gst_base_sink_activate, gst_base_sink_activate_pull)
8197         (gst_base_sink_activate_push): Make activation mode choosing work.
8198         Cleanups.
8199         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8200         is right. Make pull mode work. Post an eos before pausing in pull
8201         mode.
8202         (gst_base_sink_change_state): Pay attention to the core's
8203         change_state() return val.
8204         
8205         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8206         has-getrange properties. Cleanups.
8207         
8208         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8209         has_getrange and replace with can_activate_pull and
8210         can_activate_push.
8211
8212         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8213         locking comments. Remove has_loop, has_chain and replace with
8214         can_activate_pull and can_activate_push.
8215
8216 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8217
8218         * configure.ac:
8219         * examples/Makefile.am:
8220         * examples/metadata/Makefile.am:
8221         * examples/metadata/read-metadata.c: (message_loop),
8222         (have_pad_handler), (make_pipeline), (print_tag), (main):
8223           Add metadata reading example that loops over a list of filenames,
8224           dumping any tags found.
8225
8226         * gst/gstbus.c: (gst_bus_dispose):
8227         * gst/gstelement.c: (gst_element_dispose):
8228           Release a few potentially-held references in dispose.
8229
8230 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8231
8232         * docs/gst/tmpl/gstminiobject.sgml:
8233           do *not* add tmpl/*.sgml files to CVS!
8234
8235 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8236
8237         * libs/gst/bytestream/.cvsignore:
8238         * libs/gst/bytestream/Makefile.am:
8239         * libs/gst/bytestream/adapter.c:
8240         * libs/gst/bytestream/adapter.h:
8241         * libs/gst/bytestream/bytestream.c:
8242         * libs/gst/bytestream/bytestream.h:
8243         * libs/gst/bytestream/filepad.c:
8244         * libs/gst/bytestream/filepad.h:
8245           removing obsolete files
8246
8247 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8248
8249         * docs/gst/gstreamer-docs.sgml:
8250         * docs/libs/gstreamer-libs-docs.sgml:
8251           disabed additional index entries again, as this makes docs-gen just
8252           slow and they aren't useful yet
8253         * docs/libs/gstreamer-libs-sections.txt:
8254           little -section.txt cleanup for libs
8255
8256 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8257
8258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8259         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8260           fix up some debugging
8261         (gst_base_transform_get_unit_size),
8262         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8263         (gst_base_transform_handle_buffer):
8264         * gst/base/gstbasetransform.h:
8265           handle and store timed NEWSEGMENT events so that subclasses that
8266           calculate time by counting samples have a segment_start time they
8267           need to add to their timestamps - see audioresample
8268
8269 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8270
8271         * gst/gstbin.h:
8272           removed ';' from the end of macro defs
8273         * docs/gst/gstreamer-docs.sgml:
8274         * docs/gst/gstreamer-sections.txt:
8275         * docs/gst/tmpl/.cvsignore:
8276         * gst/gstbus.h:
8277         * gst/gstelement.c: (gst_element_class_init),
8278         (gst_element_set_state), (activate_pads),
8279         (gst_element_save_thyself):
8280         * gst/gstevent.c: (gst_event_new_newsegment):
8281         * gst/gstevent.h:
8282         * gst/gstiterator.c:
8283         * gst/gstiterator.h:
8284         * gst/gstpad.c:
8285         * gst/gstprobe.h:
8286         * gst/gstutils.c: (gst_pad_query_convert):
8287         * gst/gstutils.h:
8288           fixed parameter name mismatches between source, header and docs
8289           added some more docs, resolved the last batch of unused elements in
8290           docs (now someone needs to doc them)
8291
8292 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8293
8294         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
8295         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
8296           don't walk through the plugins backwards.  Where is all this
8297           reversed logic coming from ?
8298
8299 2005-08-25  Wim Taymans  <wim@fluendo.com>
8300
8301         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8302         (gst_base_transform_transform_size),
8303         (gst_base_transform_configure_caps),
8304         (gst_base_transform_get_unit_size),
8305         (gst_base_transform_buffer_alloc),
8306         (gst_base_transform_change_state):
8307         * gst/base/gstbasetransform.h:
8308         Cache caps unit_size.
8309         Make sure we cannot negotiate up and downstream at the
8310         same time.
8311
8312 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8313
8314         * gst/gst.c: (init_pre), (init_post):
8315           register the installed plugin path after the env var
8316         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
8317         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
8318           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
8319           directories, so the tests can prefer uninstalled over installed
8320
8321 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8322
8323         * gst/base/gstbasetransform.h:
8324           comment
8325         * gst/gstpad.c:
8326           add to docs
8327
8328 2005-08-25  Wim Taymans  <wim@fluendo.com>
8329
8330         * gst/gstbin.c: (bin_bus_handler):
8331         Be a bit more conservative about the posted message.
8332         
8333         * gst/gstbus.c: (gst_bus_post):
8334         Some cleanups, warn wrong return values.
8335
8336 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
8337
8338         * check/gst/gstbin.c: (GST_START_TEST):
8339         * gst/gstbin.c: (bin_bus_handler):
8340         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8341         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8342         (gst_message_new_warning), (gst_message_new_tag),
8343         (gst_message_new_state_changed), (gst_message_new_segment_start),
8344         (gst_message_new_segment_done), (gst_message_new_custom):
8345         * gst/gstmessage.h:
8346         * tools/gst-launch.c: (event_loop):
8347         * tools/gst-md5sum.c: (event_loop):
8348           Revert unpopular change for GST_MESSAGE_SRC to GObject.
8349
8350 2005-08-25  Wim Taymans  <wim@fluendo.com>
8351
8352         * check/generic/states.c: (GST_START_TEST):
8353         Cleanup can be done at the end.
8354
8355         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
8356         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8357         (gst_task_get_state), (gst_task_start), (gst_task_pause):
8358         Oh boy.. Thanks for finding this, Thomas. 
8359
8360 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8361
8362         * docs/gst/gstreamer.types:
8363           added missing types
8364
8365 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
8366
8367         * docs/gst/gstreamer-docs.sgml:
8368         * docs/gst/gstreamer-sections.txt:
8369         * docs/gst/tmpl/.cvsignore:
8370         * gst/gstbin.c:
8371         * gst/gstiterator.c:
8372         * gst/gstutils.c:
8373         * gst/registries/gstxmlregistry.h:
8374           added missing classes and symbols (123 more to go)
8375           removed removed symbols from section file
8376           fixed many doc-comments
8377
8378 2005-08-24  Wim Taymans  <wim@fluendo.com>
8379
8380         * check/generic/states.c: (GST_START_TEST):
8381         Make sure all tasks are stopped.
8382
8383         * check/gst/gstbin.c: (GST_START_TEST):
8384         Unref after usage for proper valgrinding.
8385
8386         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
8387         Really wait for the task to stop before destroying the
8388         mutex.
8389
8390         * gst/gstqueue.c: (gst_queue_sink_activate_push),
8391         (gst_queue_src_activate_push):
8392         Small cleanups. Don't stop the task when we did not start
8393         it.
8394
8395         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
8396         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
8397         (gst_task_get_state), (gst_task_start), (gst_task_pause),
8398         (gst_task_join):
8399         * gst/gsttask.h:
8400         Protect the stream lock with the object lock.
8401         Disallow setting the stream lock when running.
8402         Add cleanup_all to wait for the threadpool to finish.
8403         Remove code to autoallocate a mutex if none was provided.
8404         Add _join() to wait for a task to stop.
8405         Protect the thread pool with a global lock.
8406
8407 2005-08-24  Wim Taymans  <wim@fluendo.com>
8408
8409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8410         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8411         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
8412         * gst/base/gstbasesink.h:
8413         Handle newsegment events correctly.
8414         Drop buffers out of the segment range.
8415
8416 2005-08-22  Andy Wingo  <wingo@pobox.com>
8417
8418         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
8419         macro, implements an interface and gstimplementsinterface for a
8420         new type.
8421
8422 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8423
8424         * check/Makefile.am:
8425         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
8426           add a test that does a bunch of state changes on elements
8427           needs some fixing for valgrind
8428         * check/states/sinks.c: (gst_object_suite):
8429           whitespace
8430         * gst/gstcaps.h:
8431           add prototype for gst_caps_is_equal_fixed
8432         * gst/gstplugin.c:
8433         * gst/gstregistrypool.c:
8434           doc fixes
8435
8436 2005-08-24  Andy Wingo  <wingo@pobox.com>
8437
8438         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
8439         convert a negative value. Doesn't make much sense. Mostly this is
8440         here to force callers to ensure -1 maps to -1.
8441
8442 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8443
8444         * docs/pwg/advanced-types.xml:
8445           Well done to Michael for catching my deliberate introduction
8446           of this spelling mistake. 
8447         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
8448         * gst/gstelement.h:
8449           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
8450           unlink pads before removing the element from the bin.
8451
8452 2005-08-24  Andy Wingo  <wingo@pobox.com>
8453
8454         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
8455         the same thing as GST_DEBUG=*:4.
8456         (parse_debug_level, parse_debug_category): New helper parsers.
8457
8458 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8459
8460         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8461         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
8462         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
8463         (gst_base_transform_buffer_alloc),
8464         (gst_base_transform_handle_buffer):
8465           use gboolean return values and pointers to size so we can use the
8466           full GST_BUFFER_SIZE range (guint) for buffer sizes
8467           use GstPadDirection for transform_caps
8468         * gst/base/gstbasetransform.h:
8469           rename get_size to get_unit_size since that's what it is
8470         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
8471           use GstPadDirection for transform_caps
8472         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8473         * gst/gstutils.h:
8474           cleanup and debugging
8475
8476 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8477
8478         * gst/gstelement.c: (gst_element_class_init),
8479         (gst_element_set_state), (activate_pads),
8480         (gst_element_save_thyself):
8481         * tools/gst-compprep.c: (main):
8482         * tools/gst-inspect.c: (print_element_properties_info):
8483         * tools/gst-xmlinspect.c: (print_element_properties):
8484           Fixed long standing mem-leak
8485
8486 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8487
8488         * check/gst/gstbin.c: (GST_START_TEST):
8489         * gst/gstbin.c: (bin_bus_handler):
8490         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8491         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8492         (gst_message_new_warning), (gst_message_new_tag),
8493         (gst_message_new_state_changed), (gst_message_new_segment_start),
8494         (gst_message_new_segment_done), (gst_message_new_custom):
8495         * gst/gstmessage.h:
8496         * tools/gst-launch.c: (event_loop):
8497         * tools/gst-md5sum.c: (event_loop):
8498           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8499           that applications can sensibly post custom messages with references
8500           to their own objects.
8501
8502 2005-08-24  Andy Wingo  <wingo@pobox.com>
8503
8504         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8505         already.
8506
8507 2005-08-24  Wim Taymans  <wim@fluendo.com>
8508
8509         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8510         (gst_base_transform_transform_caps),
8511         (gst_base_transform_transform_size),
8512         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8513         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8514         (gst_base_transform_handle_buffer):
8515         * gst/base/gstbasetransform.h:
8516         Many fixes and new features added by Thomas. Can now also do
8517         transforms with variable sizes and a custom fixate_caps function.
8518
8519 2005-08-24  Wim Taymans  <wim@fluendo.com>
8520
8521         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8522         Some debugging.
8523
8524         * gst/gstclock.h:
8525         Cast to ClockTime before formatting to time.
8526
8527         * gst/gstutils.h:
8528         Cleanups.
8529
8530 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8531
8532         * check/gst-libs/controller.c: (GST_START_TEST),
8533         (gst_controller_suite):
8534         * docs/gst/tmpl/gstcaps.sgml:
8535         * docs/gst/tmpl/gstghostpad.sgml:
8536         * docs/gst/tmpl/gstquery.sgml:
8537         * docs/gst/tmpl/gstutils.sgml:
8538         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8539         (gst_object_sink_values), (gst_object_get_value_arrays),
8540         (gst_object_get_value_array):
8541           gracefully handle helper method calls to objects that are not beeing
8542           controlled, added test case for that          
8543
8544 2005-08-23  Wim Taymans  <wim@fluendo.com>
8545
8546         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8547         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8548         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8549         (gst_event_parse_qos), (gst_event_new_seek),
8550         (gst_event_parse_seek):
8551         * gst/gstevent.h:
8552         Some more debugging output and doc cleanups.
8553
8554         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8555         Fix possible deadlock.
8556
8557 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8558
8559         * docs/gst/gstreamer-docs.sgml:
8560         * docs/gst/gstreamer-sections.txt:
8561         * docs/gst/gstreamer.types:
8562         * docs/gst/tmpl/.cvsignore:
8563         * gst/gstbin.h:
8564         * gst/gstbus.c:
8565         * gst/gstelement.c:
8566         * gst/gstevent.h:
8567           added 100 symbols from gstreamer-unused.txt to the right sections
8568           fixed more broken comments
8569           added GstBus to docs
8570
8571 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8572
8573         * docs/gst/gstreamer-sections.txt:
8574         * docs/gst/tmpl/.cvsignore:
8575         * docs/gst/tmpl/gstbin.sgml:
8576         * docs/gst/tmpl/gstbuffer.sgml:
8577         * gst/base/gstbasesrc.c:
8578         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8579         * gst/gstbuffer.c:
8580         * gst/gstbuffer.h:
8581         * tools/gst-launch.1.in:
8582           inlined more doc comments, added missing comments and fixed comments
8583           fixed typos
8584
8585 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8586
8587         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8588           some debugging
8589         * gst/gstcaps.h:
8590           whitespace fixes
8591         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8592           more debugging
8593         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8594         * gst/gststructure.h:
8595           add a fixate function for booleans; add a FIXME that these func
8596           names should probably be gst_structure_fixate_*
8597
8598 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8599
8600         * docs/gst/gstreamer-docs.sgml:
8601         * docs/gst/gstreamer-sections.txt:
8602         * gst/Makefile.am:
8603         * gst/gstbin.c: (gst_bin_get_type),
8604         (gst_bin_child_proxy_get_child_by_index),
8605         (gst_bin_child_proxy_get_children_count),
8606         (gst_bin_child_proxy_init):
8607         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8608         (gst_child_proxy_get_child_by_index),
8609         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8610         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8611         (gst_child_proxy_get), (gst_child_proxy_set_property),
8612         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8613         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8614         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8615         * gst/gstchildproxy.h:
8616         * gst/parse/grammar.y:
8617         * tools/gst-inspect.c: (print_interfaces),
8618         (print_element_properties_info), (print_element_info):
8619           ported gstchildproxy over from 0.8
8620           ported gst-inspect fixes and enhancements over from 0.8
8621
8622 2005-08-22  Wim Taymans  <wim@fluendo.com>
8623
8624         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8625         (gst_base_transform_handle_buffer):
8626         Also call the transform function if we have ANY caps.
8627
8628         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8629         Fix debug info.
8630
8631 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8632
8633         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8634           Don't pretend to handle seek events if the source is not seekable
8635
8636 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8637
8638         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8639           Remove extra parameter to debug output
8640
8641         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8642         (gst_base_src_do_seek), (gst_base_src_activate_push):
8643           Fix seek event handling.
8644
8645         * gst/gstpipeline.c: (gst_pipeline_change_state):
8646         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8647         (gst_queue_src_activate_push):
8648           Don't start the src pad task on FLUSH_STOP if the pad
8649           isn't linked.
8650           Debug changes.
8651
8652 2005-08-22  Wim Taymans  <wim@fluendo.com>
8653
8654         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8655         Added check for gst_static_caps_get() refcounting.
8656
8657 2005-08-22  Wim Taymans  <wim@fluendo.com>
8658
8659         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8660         Make _static_caps_get() refcounting sane.
8661         
8662         * gst/gstelement.c: (gst_element_set_state):
8663         Add g_return_val_if_fail() to protect against segfaults.
8664
8665 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8666
8667         * docs/gst/tmpl/gstevent.sgml:
8668         * gst/gstevent.c:
8669         * gst/gstevent.h:
8670           inlined remaining docs, added missing doc comments
8671
8672 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8673
8674         * check/gst/gstbin.c: (GST_START_TEST):
8675           since we don't know when preroll is done, use refcount range
8676           check for the sink
8677         * gst/check/gstcheck.h:
8678           add macro for checking refcount range
8679
8680 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * check/Makefile.am:
8683           clean up environment for when registry gets built versus
8684           when actual tests are run; valgrind seems to not report
8685           leaks if GST_PLUGIN_PATH is set to some specific values
8686         * check/gst/gstbin.c: (GST_START_TEST):
8687           add more refcounting checks; maybe this exposes a
8688           preroll lock bug ?
8689         * common/check.mak:
8690         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8691         * gst/check/gstcheck.h:
8692         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8693         (gst_bin_change_state):
8694         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8695           add/fix debugging/whitespace
8696
8697 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8698
8699         * check/gst/gstevent.c: (event_probe), (test_event),
8700         (GST_START_TEST):
8701          Er, don't call gst_bin_watch_for_state_change you idiot.
8702
8703 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8704
8705         * check/Makefile.am:
8706           Use CHECK_CFLAGS and CHECK_LIBS
8707         * check/gst/gstevent.c: (event_probe), (test_event),
8708         (GST_START_TEST):
8709           Don't leak events.
8710         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8711         (gst_base_src_start), (gst_base_src_stop),
8712         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8713         (gst_base_src_change_state):
8714           Sprinkle gst_base_src_stop liberally around error paths to fix
8715           problems reusing a source after failed state changes.
8716         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8717         (helper_find_suggest), (gst_type_find_helper):
8718           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8719         * gst/gstevent.h:
8720         * docs/gst/tmpl/gstevent.sgml:
8721           Migrate part of the docs from the SGML file. Wait for ensonic to
8722           tell me how I did it wrong ;)
8723         * tools/gst-typefind.c: (main):
8724           Extra robustness to state changes between files.
8725
8726 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8727
8728         * check/Makefile.am:
8729           don't valgrind the controller test - it's leaking - Stefan, HELP
8730         * gst/check/gstcheck.c: (gst_check_message_error),
8731         (gst_check_chain_func), (gst_check_setup_element),
8732         (gst_check_teardown_element), (gst_check_setup_src_pad),
8733         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8734         (gst_check_teardown_sink_pad):
8735         * gst/check/gstcheck.h:
8736           add a bunch of methods to set up elements, and src and sink pads
8737         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8738         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8739         (GST_START_TEST):
8740           use them
8741         * gst/gstmessage.c:
8742         * gst/gsttag.h:
8743           whitespace/doc fixes
8744
8745 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8746
8747         * gst/gstelement.h:
8748           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8749           be handled by the application and not always printed as well
8750
8751 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8752
8753         * check/Makefile.am:
8754           set GST_TOOLS_DIR
8755         * gst/check/gstcheck.c: (gst_check_message_error):
8756         * gst/check/gstcheck.h:
8757           add a fail_unless_equals_int
8758           add fail_unless for error messages
8759
8760 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8761
8762         * check/Makefile.am:
8763         * check/gst.supp:
8764         * common/Makefile.am:
8765         * common/check.mak:
8766         * common/gst.supp:
8767           factor out some of the common stuff so we can use it
8768
8769 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8770
8771         * check/Makefile.am:
8772         * check/gst/gstiterator.c: (GST_START_TEST):
8773         * check/gst/gstsystemclock.c: (GST_START_TEST),
8774         (gst_systemclock_suite):
8775         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8776         * gst/gstclock.c:
8777           valgrind more tests
8778
8779 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8780
8781         * check/elements/.cvsignore:
8782         * check/elements/gstfakesrc.c:
8783           rename to name of element
8784         * check/elements/identity.c: (chain_func), (event_func),
8785         (setup_identity), (cleanup_identity), (GST_START_TEST),
8786         (identity_suite), (main):
8787           add a test for identity
8788         * check/Makefile.am:
8789         * pkgconfig/Makefile.am:
8790         * pkgconfig/gstreamer-check.pc.in:
8791         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8792         * gst/check:
8793         * gst/Makefile.am:
8794         * configure.ac:
8795           move the check stuff to a library that gets installed
8796         * check/gst-libs/controller.c: (GST_START_TEST):
8797         * check/gst-libs/gdp.c:
8798         * check/gst/gst.c: (GST_START_TEST):
8799         * check/gst/gstbin.c:
8800         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8801         * check/gst/gstbus.c:
8802         * check/gst/gstcaps.c: (GST_START_TEST):
8803         * check/gst/gstelement.c:
8804         * check/gst/gstghostpad.c:
8805         * check/gst/gstiterator.c:
8806         * check/gst/gstmessage.c:
8807         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8808         * check/gst/gstobject.c:
8809         * check/gst/gstpad.c: (GST_START_TEST):
8810         * check/gst/gststructure.c: (GST_START_TEST):
8811         * check/gst/gstsystemclock.c: (GST_START_TEST),
8812         (gst_systemclock_suite):
8813         * check/gst/gsttag.c: (gst_tag_suite):
8814         * check/gst/gstvalue.c:
8815         * check/pipelines/cleanup.c:
8816         * check/pipelines/simple_launch_lines.c:
8817         * check/states/sinks.c:
8818           change include statement
8819
8820         * docs/gst/gstreamer-sections.txt:
8821         * docs/gst/tmpl/gstpad.sgml:
8822           document more pad stuff
8823         * gst/gstminiobject.c: (gst_mini_object_ref),
8824         (gst_mini_object_unref):
8825           debug refcounting
8826
8827 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8828
8829         * docs/gst/tmpl/gst.sgml:
8830         * gst/gst.c:
8831           eliminate another tmpl file, fix spelling in the long-description
8832
8833 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8834
8835         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8836         (test_event), (timediff), (gstevents_suite):
8837           Should fix build on 64-bit arch's
8838
8839 2005-08-18  Andy Wingo  <wingo@pobox.com>
8840
8841         Make sure that when a pipeline goes to PLAYING, that data has
8842         actually hit the sink.
8843
8844         * check/states/sinks.c (test_sink): A sink that doesn't get any
8845         data shouldn't return SUCCESS for going to either PLAYING or
8846         PAUSED. Test also the return values on the way back down.
8847
8848         * gst/gstelement.c (gst_element_set_state): When changing the
8849         state of an element currently changing state asynchronously, go to
8850         lost-state after commiting the pending state. Makes future calls
8851         to get_state continue to return ASYNC.
8852
8853         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8854         ASYNC when going to PLAYING if we still don't have preroll, as can
8855         happen with live sources.
8856
8857 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8858
8859         * docs/pwg/advanced-types.xml:
8860           Hack long paragraph into 2 chunks as a workaround for buggy
8861           jadetex version in sid and breezy that loops infinitely and
8862           eats all RAM.
8863
8864 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8865
8866         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8867         (test_event), (timediff), (gstevents_suite):
8868           Provide more error margin in clock measurements to allow for 
8869           g_get_current_time inaccuracies.
8870
8871 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8872
8873         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8874         (test_event), (timediff), (gstevents_suite):
8875            Fix error message output so I might be able to tell why the
8876            test works here but fails on the build farm.
8877
8878 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8879
8880         * check/Makefile.am:
8881         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8882         (test_event), (timediff), (gstevents_suite), (main):
8883           I wrote a test!
8884
8885         * docs/design/part-seeking.txt:
8886           Spelling correction
8887
8888         * docs/gst/tmpl/gstevent.sgml:
8889         * docs/gst/tmpl/gstfakesrc.sgml:
8890           Docs updates.
8891
8892         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8893           Treat a buffer-without-newsegment the same as a receiving 
8894           a newsegment not in time format, and disable syncing to the clock
8895           with a warning.
8896
8897         * gst/gstbus.c: (gst_bus_set_sync_handler):
8898           Assert if anyone tries to replace the existing sync_handler for bus, 
8899           as only the owner should be setting it.
8900
8901         * gst/gstevent.h:
8902           Have a fixed set of custom event enums with events identified by
8903           their structure name (as in 0.8), rather than a free-for-all
8904           allowing collisions between enum values from different plugins.
8905
8906         * gst/gstpad.c: (gst_pad_class_init):
8907           Docs change.
8908           
8909         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8910           Handle out-of-band downstream events from the sending thread.
8911
8912 2005-08-17  Andy Wingo  <wingo@pobox.com>
8913
8914         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8915         play-timeout==0 to mean no timeout at all. In that case, don't
8916         bother with a get_state or a warning, just return directly, even
8917         if it's ASYNC.
8918
8919         * gst/base/gstbasetransform.c: Debug changes.
8920
8921         * gst/gstutils.h:
8922         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8923         ensure bins post state change messages. A bit of a hack but I can't
8924         think of a way to avoid it.
8925
8926         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8927
8928 2005-08-16  Andy Wingo  <wingo@pobox.com>
8929
8930         * gst/base/gstadapter.h:
8931         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8932         peek() but you own the data. Not terribly efficient atm.
8933
8934 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8935
8936         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8937         (gst_element_found_tags):
8938         * gst/gstutils.h:
8939           Add two utility functions for tag handling.
8940
8941 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8942
8943         * docs/manual/advanced-dataaccess.xml:
8944         * docs/manual/basics-helloworld.xml:
8945           Fix docs to use _bin_add() before _link(), which fixes the examples
8946           with recent core versions (reported by Madhan Raj M
8947           <raj_madan@rediffmail.com>, #313199).
8948
8949 2005-08-16  Wim Taymans  <wim@fluendo.com>
8950
8951         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8952         Added subtract checks.
8953
8954         * docs/design/part-events.txt:
8955         Some more docs about newsegment
8956
8957         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8958         Fix FIXME
8959
8960         * gst/gstcaps.c: (gst_caps_to_string):
8961         Add comments, cleanups.
8962         
8963         * gst/gstelement.c: (gst_element_save_thyself):
8964         cleanups
8965         
8966         * gst/gstvalue.c: (gst_value_collect_int_range),
8967         (gst_string_unwrap), (gst_value_union_int_int_range),
8968         (gst_value_union_int_range_int_range),
8969         (gst_value_intersect_int_int_range),
8970         (gst_value_intersect_int_range_int_range),
8971         (gst_value_intersect_double_double_range),
8972         (gst_value_intersect_double_range_double_range),
8973         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8974         (gst_value_subtract_int_range_int),
8975         (gst_value_subtract_double_range_double),
8976         (gst_value_subtract_double_range_double_range),
8977         (gst_value_subtract_from_list), (gst_value_subtract_list),
8978         (gst_value_can_compare), (gst_value_compare_fraction):
8979         Cleanups, add comments, remove unneeded asserts.
8980
8981 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8982
8983         * tools/gst-launch.c: (event_loop):
8984           don't convert NULL structures to strings
8985
8986 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8987
8988         * docs/gst/gstreamer-sections.txt:
8989           made some defines private
8990         * docs/gst/tmpl/gstconfig.sgml:
8991         * docs/gst/tmpl/gstqueue.sgml:
8992         * docs/gst/tmpl/gsttaglist.sgml:
8993         * docs/gst/tmpl/gsttypes.sgml:
8994         * docs/gst/tmpl/gstutils.sgml:
8995         * docs/pwg/appendix-porting.xml:
8996         * gst/base/gstbasesink.h:
8997         * gst/base/gstbasesrc.c:
8998         * gst/base/gstbasesrc.h:
8999         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9000         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9001         * gst/gstelement.c: (gst_element_class_init):
9002         * gst/gstpad.c: (gst_pad_class_init):
9003         * gst/gstqueue.c: (gst_queue_class_init):
9004         * gst/gstxml.c: (gst_xml_class_init):
9005           documented all undocumented signal inline
9006         * libs/gst/controller/gst-controller.h:
9007           added padding
9008
9009 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9010
9011         * docs/pwg/appendix-porting.xml:
9012           Document _set_link_function -> _set_setcaps_function.
9013
9014 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9015
9016         * check/Makefile.am:
9017           add a .check target for running the check
9018         * check/gst-libs/controller.c: (GST_START_TEST):
9019           cosmetic fixups
9020         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9021           complete checks for gstbuffer; would be nice if I could get the
9022           gcov stuff to work so I can see if I actually completed gstbuffer.c
9023         * check/gstcheck.h:
9024           add ASSERT_BUFFER_REFCOUNT
9025
9026 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9027
9028         * docs/gst/gstreamer-sections.txt:
9029         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9030         * gst/gsttag.h:
9031           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9032           spew out a warning if a tag that is already registered
9033           is re-registered, unless it is re-registered with a 
9034           different type (#308438).
9035
9036 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9037
9038         * docs/pwg/appendix-porting.xml:
9039         * docs/pwg/building-state.xml:
9040           Add some paragraphs about state changes in 0.9 to the PWG
9041           and the porting guide, in particular about the new meaning
9042           of GST_STATE_PAUSED and how to write state change functions
9043           with concurrent access by multiple threads in mind.
9044
9045 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9046
9047         * docs/gst/gstreamer-docs.sgml:
9048         * docs/libs/gstreamer-libs-docs.sgml:
9049           added deprecation and since indexes
9050         * libs/gst/controller/gst-controller.c:
9051         * libs/gst/controller/gst-helper.c:
9052           added since tags
9053
9054
9055 2005-08-11  Wim Taymans  <wim@fluendo.com>
9056
9057         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9058         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9059         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9060         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9061         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9062         (gst_ghost_pad_set_target):
9063         Actually implement (re)setting the target on a ghostpad
9064         as described in the docs.
9065
9066 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9067
9068         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9069           Check whether GST_DEBUG_NO_COLOR environment variable is
9070           set and disable coloured debug output if that is the case.
9071
9072 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9073
9074         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9075         (gst_type_find_helper):
9076           The memory returned by gst_type_find_peek() needs to
9077           stay valid until the end of a typefind function, and
9078           typefind functions may keep results from different 
9079           offsets around, so we can't just unref the buffer from
9080           the previous _peek(), but have to save all buffers 
9081           returned by _peek() until typefinding is done and only
9082           free them then.
9083
9084 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9085
9086         * docs/gst/gstreamer-sections.txt:
9087         * gst/gstutils.h:
9088           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9089
9090 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9091
9092         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9093           Fix a pretty good memleak.
9094
9095 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9096
9097         * gst/gstiterator.h:
9098           Fix wrong include and 'make distcheck'.
9099
9100 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9101
9102         * gst/gstbin.c: (bin_bus_handler):
9103           Use gst_element_post_message() instead.
9104
9105 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9106
9107         * gst/base/gstadapter.h:
9108         * gst/base/gstbasesink.h:
9109         * gst/base/gstbasesrc.h:
9110         * gst/base/gstbasetransform.h:
9111         * gst/base/gstcollectpads.h:
9112         * gst/base/gstpushsrc.h:
9113         * gst/gstiterator.h:
9114           Add padding to our base elements' class and instance structs and
9115           to GstIterator (you will need to rebuild all plugins and apps!)
9116
9117 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9118
9119         * gst/gstbin.c: (bin_bus_handler):
9120           Make default message forwarding from child->bus to bin->bus
9121           threadsafe and make it not emit warnings if the parent has no bus.
9122
9123 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9124
9125         * gst/gstelement.c: (activate_pads):
9126           On paused->ready, set pad->caps to NULL, as is the documented
9127           behaviour in this state change. Fixes playback of series of
9128           media files when visualization is enabled in Totem.
9129
9130 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9131
9132         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9133           Allow NULL as filter-caps (which means "any").
9134
9135 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9136
9137         * docs/libs/gstreamer-libs-sections.txt:
9138         * libs/gst/controller/gst-controller.c:
9139         * libs/gst/controller/gst-controller.h:
9140         * libs/gst/controller/gst-helper.c:
9141           adding more entries to the docs and fix small doc-bugs
9142
9143 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9144
9145         * docs/gst/gstreamer-docs.sgml:
9146         * docs/gst/gstreamer-sections.txt:
9147         * docs/gst/gstreamer.types:
9148         * docs/gst/tmpl/gstbasesink.sgml:
9149         * docs/gst/tmpl/gstbasesrc.sgml:
9150         * docs/gst/tmpl/gstbasetransform.sgml:
9151         * docs/gst/tmpl/gstfakesrc.sgml:
9152         * gst/base/gstcollectpads.c:
9153         * gst/base/gstcollectpads.h:
9154         * libs/gst/controller/gst-controller.c:
9155         * libs/gst/controller/gst-controller.h:
9156         * libs/gst/controller/gst-helper.c:
9157         * libs/gst/controller/gst-interpolation.c:
9158         * libs/gst/controller/lib.c:
9159           added long/short desc for controller docs
9160           added collectpads base class docs
9161           added correct includes to base-class docs
9162
9163 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9164
9165         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9166         (gst_test_mono_source_set_property),
9167         (gst_test_mono_source_class_init), (GST_START_TEST),
9168         (gst_controller_suite):
9169         * docs/gst/gstreamer-docs.sgml:
9170         * docs/gst/gstreamer-sections.txt:
9171         * docs/gst/gstreamer.types:
9172         * docs/libs/gstreamer-libs-docs.sgml:
9173         * docs/libs/gstreamer-libs-sections.txt:
9174         * gst/base/gstadapter.c:
9175         * libs/gst/controller/gst-controller.c:
9176         (gst_controlled_property_new), (gst_controlled_property_free),
9177         (gst_controller_new_valist),
9178         (gst_controller_remove_properties_valist),
9179         (gst_controller_sink_values), (_gst_controller_finalize):
9180         * libs/gst/controller/gst-controller.h:
9181         * libs/gst/controller/gst-helper.c:
9182         (gst_object_control_properties), (gst_object_uncontrol_properties),
9183         (gst_object_get_controller), (gst_object_set_controller),
9184         (gst_object_sink_values), (gst_object_get_value_arrays),
9185         (gst_object_get_value_array):
9186           more tests (and fixes) for the controller
9187           more docs for the controller
9188           integrated companies docs for the adapter 
9189
9190 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9191
9192         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9193         (GST_START_TEST), (fakesrc_suite):
9194           add tests for sizetype
9195
9196 2005-08-04  Andy Wingo  <wingo@pobox.com>
9197
9198         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9199         fixes buffer_alloc proxying among other things.
9200
9201         * gst/base/gstbasetransform.c:
9202         * gst/base/gstbasetransform.h:
9203         Revert patch to gstbasetransform from 7-28 removing
9204         delay_configure.
9205
9206         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9207         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9208         Semantics changed, should return not the size of the output buffer
9209         but the byte size of a buffer with a given caps.
9210
9211         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9212         debug object.
9213         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9214         out) are not the pad caps until setcaps finishes.
9215         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9216         not-in-place case as well. Deal with changing from in-place to
9217         not-in-place within calling pad_alloc_buffer. Still a bit
9218         concerned about the overhead here...
9219
9220 2005-08-03  Andy Wingo  <wingo@pobox.com>
9221
9222         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9223         fixating is an error.
9224
9225 2005-08-04  Edward Hervey  <edward@fluendo.com>
9226
9227         * gst/base/gstadapter.h: 
9228         Added gst_adapter_get_type() to the header
9229
9230 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9231
9232         * check/Makefile.am:
9233         * check/gst-libs/controller.c:
9234         * libs/gst/controller/gst-controller.c:
9235         (gst_controller_new_valist):
9236           added check test suite for the controller
9237         * gst/base/gstpushsrc.c:
9238           fixed a doc typo
9239
9240 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9241
9242         * docs/gst/Makefile.am:
9243         * docs/gst/gstreamer-docs.sgml:
9244         * docs/gst/gstreamer-sections.txt:
9245         * docs/gst/gstreamer.types:
9246         * docs/gst/tmpl/gstfakesrc.sgml:
9247         * gst/base/README:
9248         * gst/base/gstbasesink.c:
9249         * gst/base/gstbasesink.h:
9250         * gst/base/gstbasesrc.c:
9251         * gst/base/gstbasesrc.h:
9252         * gst/base/gstbasetransform.c:
9253         * gst/base/gstpushsrc.c:
9254         * gst/base/gstpushsrc.h:
9255           add short/long description docs to base classes
9256           add pushsrc to the docs
9257           remove consolidated doc fragments
9258
9259 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9260
9261         * configure.ac:
9262         * docs/libs/Makefile.am:
9263         * docs/libs/gstreamer-libs-docs.sgml:
9264         * docs/libs/gstreamer-libs-sections.txt:
9265         * docs/libs/gstreamer-libs.types:
9266         * examples/Makefile.am:
9267         * examples/controller/.cvsignore:
9268         * examples/controller/Makefile.am:
9269         * examples/controller/audio-example.c: (main):
9270         * libs/gst/Makefile.am:
9271         * libs/gst/controller/.cvsignore:
9272         * libs/gst/controller/Makefile.am:
9273         * libs/gst/controller/gst-controller.c:
9274         (on_object_controlled_property_changed), (gst_timed_value_compare),
9275         (gst_timed_value_find),
9276         (gst_controlled_property_set_interpolation_mode),
9277         (gst_controlled_property_new), (gst_controlled_property_free),
9278         (gst_controller_find_controlled_property),
9279         (gst_controller_new_valist), (gst_controller_new),
9280         (gst_controller_remove_properties_valist),
9281         (gst_controller_remove_properties), (gst_controller_set),
9282         (gst_controller_set_from_list), (gst_controller_unset),
9283         (gst_controller_get), (gst_controller_get_all),
9284         (gst_controller_sink_values), (gst_controller_get_value_arrays),
9285         (gst_controller_get_value_array),
9286         (gst_controller_set_interpolation_mode),
9287         (_gst_controller_finalize), (_gst_controller_init),
9288         (_gst_controller_class_init), (gst_controller_get_type):
9289         * libs/gst/controller/gst-controller.h:
9290         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
9291         (g_object_uncontrol_properties), (g_object_get_controller),
9292         (g_object_set_controller), (g_object_sink_values),
9293         (g_object_get_value_arrays), (g_object_get_value_array):
9294         * libs/gst/controller/gst-interpolation.c:
9295         (gst_controlled_property_find_timed_value_node),
9296         (interpolate_none_get), (interpolate_trigger_get),
9297         (interpolate_trigger_get_value_array):
9298         * libs/gst/controller/lib.c: (gst_controller_init):
9299         * pkgconfig/Makefile.am:
9300         * pkgconfig/gstreamer-control-uninstalled.pc.in:
9301         * pkgconfig/gstreamer-control.pc.in:
9302         * testsuite/Makefile.am:
9303         * testsuite/controller/.cvsignore:
9304         * testsuite/controller/Makefile.am:
9305         * testsuite/controller/interpolator.c: (main):
9306           added controller code
9307           removed dparam pc files
9308
9309 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9310         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
9311         (gst_collectpads_stop):
9312           Broadcast the condition when shutting down, to make sure we wake all
9313           threads up. Shut down pads on finalize, for safety.
9314
9315 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
9316         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9317         (gst_base_transform_handle_buffer),
9318         (gst_base_transform_change_state):
9319           Handle PAUSED->READY->PAUSED transition after negotiation
9320           occurred already.
9321         * gst/gstmessage.c: (gst_message_init):
9322           Extra piece of debug for new messages.
9323
9324 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
9325
9326         * configure.ac:
9327         * docs/gst/tmpl/gstbasesrc.sgml:
9328         * docs/gst/tmpl/gstelement.sgml:
9329         * docs/gst/tmpl/gstevent.sgml:
9330         * docs/gst/tmpl/gstfakesrc.sgml:
9331         * docs/gst/tmpl/gstformat.sgml:
9332         * docs/gst/tmpl/gstghostpad.sgml:
9333         * docs/gst/tmpl/gstpad.sgml:
9334         * docs/gst/tmpl/gstquery.sgml:
9335         * docs/gst/tmpl/gststructure.sgml:
9336         * docs/gst/tmpl/gsttaglist.sgml:
9337         * docs/gst/tmpl/gstvalue.sgml:
9338         * docs/libs/gstreamer-libs-docs.sgml:
9339         * docs/libs/gstreamer-libs-sections.txt:
9340         * docs/libs/gstreamer-libs.types:
9341         * libs/gst/Makefile.am:
9342         * libs/gst/control/.cvsignore:
9343         * libs/gst/control/Makefile.am:
9344         * libs/gst/control/control.c:
9345         * libs/gst/control/control.h:
9346         * libs/gst/control/dparam.c:
9347         * libs/gst/control/dparam.h:
9348         * libs/gst/control/dparam_smooth.c:
9349         * libs/gst/control/dparam_smooth.h:
9350         * libs/gst/control/dparamcommon.h:
9351         * libs/gst/control/dparammanager.c:
9352         * libs/gst/control/dparammanager.h:
9353         * libs/gst/control/dplinearinterp.c:
9354         * libs/gst/control/dplinearinterp.h:
9355         * libs/gst/control/unitconvert.c:
9356         * libs/gst/control/unitconvert.h:
9357         * testsuite/Makefile.am:
9358         * testsuite/dynparams/.cvsignore:
9359         * testsuite/dynparams/Makefile.am:
9360         * testsuite/dynparams/dparamstest.c:
9361         * tools/Makefile.am:
9362         * tools/gst-inspect.c: (print_element_info), (main):
9363         * tools/gst-xmlinspect.c: (print_element_info), (main):
9364           deactivate and remove dparams (libgstcontrol)
9365
9366 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9367
9368         * gst/elements/gsttypefindelement.c:
9369         (gst_type_find_element_have_type), (gst_type_find_element_init),
9370         (stop_typefinding), (gst_type_find_element_handle_event),
9371         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9372         * gst/elements/gsttypefindelement.h:
9373           Set caps on all outgoing buffers, not just the first one.
9374
9375 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9376
9377         * gst/elements/gsttypefindelement.c:
9378         (gst_type_find_element_have_type),
9379         (gst_type_find_element_check_set_buffer_caps),
9380         (gst_type_find_element_init), (stop_typefinding),
9381         (gst_type_find_element_handle_event),
9382         (gst_type_find_element_chain), (gst_type_find_element_getrange):
9383         * gst/elements/gsttypefindelement.h:
9384           Set caps on first outgoing buffer when we've found the type.
9385
9386 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
9387
9388         * docs/gst/gstreamer-docs.sgml:
9389         * docs/gst/gstreamer-sections.txt:
9390         * docs/gst/tmpl/gstscheduler.sgml:
9391         * docs/gst/tmpl/gstschedulerfactory.sgml:
9392           Remove some old cruft from docs.
9393
9394 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
9395
9396         * gst/gstpad.h:
9397           Fix inline docs for GstPadLinkReturn.
9398           
9399         * gst/gststructure.c: (gst_structure_has_name):
9400         * gst/gststructure.h:
9401         * docs/gst/gstreamer-sections.txt:
9402           New API: gst_structure_has_name().
9403
9404 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
9405
9406         * configure.ac:
9407           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
9408           and _LARGEFILE_SOURCE in config.h as required. Do not 
9409           export those flags in our .pc files any longer (#142209).
9410
9411           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
9412
9413         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
9414         (gst_file_sink_do_seek), (gst_file_sink_event),
9415         (gst_file_sink_get_current_offset), (gst_file_sink_render):
9416           Redo seek/tell calls with large file support in mind; add some
9417           debugging messages; add log message that tells us when large
9418           file support is unavailable or not enabled for some reason.
9419
9420         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
9421           Add log message that tells us when large file support 
9422           is unavailable or not enabled for some reason.
9423
9424 2005-07-29  Wim Taymans  <wim@fluendo.com>
9425
9426         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9427         Added test for removing an element with ghostpad from a bin.
9428         Fixed test as current implementation does the right thing.
9429
9430         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
9431         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
9432         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
9433         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
9434         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
9435         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9436         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9437         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9438         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
9439         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
9440         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
9441         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
9442         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9443         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
9444         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
9445         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9446         * gst/gstghostpad.h:
9447         Clean up ghostpads, remove properties for internal stuff.
9448         Make threadsafe.
9449         Fix refcounting.
9450         Prepare for switching targets, not all use cases work yet.
9451
9452 2005-07-29  Wim Taymans  <wim@fluendo.com>
9453
9454         * docs/design/part-gstghostpad.txt:
9455         Small update.
9456
9457         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9458         (gst_bin_remove_func):
9459         Unlinking pads while holding the bin LOCK is not a good
9460         idea.
9461
9462         * gst/gstpad.c: (gst_pad_class_init),
9463         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
9464         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
9465         No prob setting template after creating the pad.
9466
9467 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
9468
9469         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
9470         (gst_bus_peek), (gst_bus_source_dispatch),
9471         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9472         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9473           gst_bus_poll may be called from other threads. Handle
9474           this nicely by not making poll_data disappear off the
9475           stack once gst_bus_poll returns.
9476           gst_bus_peek now increments the refcount on the returned
9477           message.
9478
9479 2005-07-29  Wim Taymans  <wim@fluendo.com>
9480
9481         * docs/design/part-gstghostpad.txt:
9482         Overview of current GhostPad datastructures and use
9483         cases for changing the target.
9484
9485 2005-07-28  Wim Taymans  <wim@fluendo.com>
9486
9487         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9488         Added checks for hierarchy consistency whan adding linked
9489         elements to bins.
9490
9491         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9492         Added check to test element scheduling without bin/pipeline.
9493
9494         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9495         First add elements to bin, then link.
9496         
9497         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9498         (gst_bin_remove_func):
9499         Unlink pads from elements added/removed from bin to maintain
9500         hierarchy consistency.
9501
9502 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9503
9504         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9505         (gst_base_transform_handle_buffer):
9506         * gst/base/gstbasetransform.h:
9507           Remove broken delay_configure (fixes renegotiation of software
9508           scaling pipelines); remove some leftover printf()s.
9509
9510 2005-07-28  Wim Taymans  <wim@fluendo.com>
9511
9512         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9513         Added some more tests for wrong hierarchy
9514
9515         * docs/design/part-overview.txt:
9516         Some updates.
9517
9518         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9519         Cleanups.
9520
9521         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9522         (gst_element_dispose):
9523         Some more cleanups.
9524
9525         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9526         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9527         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9528         (gst_pad_set_caps), (gst_pad_send_event):
9529         Check for correct hierarchy when linking pads. Moving to
9530         strict requirement for ghostpads when linking elements in
9531         different bins.
9532
9533         * gst/gstpad.h:
9534         Clean ups. Added WRONG_HIERARCHY return value.
9535
9536 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9537
9538         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9539           Better debug if no transform is possible.
9540
9541 2005-07-27  Wim Taymans  <wim@fluendo.com>
9542
9543         * docs/random/wtay/network-transp:
9544         Some old doc I had.
9545
9546 2005-07-27  Wim Taymans  <wim@fluendo.com>
9547
9548         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9549         (gst_dp_event_from_packet):
9550         Fix serialization of seek events.
9551
9552 2005-07-27  Wim Taymans  <wim@fluendo.com>
9553
9554         * check/gst-libs/gdp.c: (GST_START_TEST):
9555         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9556         Fix compilation and fix event serialization.
9557
9558 2005-07-27  Wim Taymans  <wim@fluendo.com>
9559
9560         * CHANGES-0.9:
9561         * docs/design/part-TODO.txt:
9562         * docs/design/part-events.txt:
9563         Some docs updates
9564
9565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9566         (gst_base_sink_event), (gst_base_sink_do_sync),
9567         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9568         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9569         (gst_base_src_do_seek), (gst_base_src_event_handler),
9570         (gst_base_src_loop):
9571         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9572         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9573         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9574         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9575         (gst_base_transform_set_passthrough),
9576         (gst_base_transform_is_passthrough):
9577         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9578         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9579         Event updates.
9580
9581         * gst/gstbuffer.h:
9582         Use faster casts.
9583
9584         * gst/gstelement.c: (gst_element_seek):
9585         * gst/gstelement.h:
9586         Update gst_element_seek.
9587
9588         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9589         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9590         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9591         (gst_event_new_eos), (gst_event_new_newsegment),
9592         (gst_event_parse_newsegment), (gst_event_new_tag),
9593         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9594         (gst_event_parse_qos), (gst_event_new_seek),
9595         (gst_event_parse_seek), (gst_event_new_navigation):
9596         * gst/gstevent.h:
9597         Make GstEvent use GstStructure. Add parsing code, make sure the
9598         API is sufficiently generic.
9599         Mark possible directions of events and serialization.
9600
9601         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9602         (_gst_message_copy), (gst_message_new_segment_start),
9603         (gst_message_new_segment_done), (gst_message_new_custom),
9604         (gst_message_parse_segment_start),
9605         (gst_message_parse_segment_done):
9606         Small cleanups.
9607
9608         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9609         (gst_pad_set_caps), (gst_pad_send_event):
9610         Update for new events. 
9611         Catch events sent in wrong directions.
9612
9613         * gst/gstqueue.c: (gst_queue_link_src),
9614         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9615         (gst_queue_handle_src_query):
9616         Event updates.
9617
9618         * gst/gsttag.c:
9619         * gst/gsttag.h:
9620         Remove event code from this file.
9621
9622         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9623         (gst_dp_event_from_packet):
9624         Event updates.
9625
9626 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9627
9628         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9629         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9630         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9631           Make debugging actually useful.
9632
9633 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9634
9635         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9636         (gst_pad_fixate_caps):
9637           Implement default fixation once again, so that gst_pad_fixate()
9638           actually does anything at all. This probably needs to be some
9639           sort of a last resort, and use profile-based fixation first, but
9640           since that doesn't exist yet, this is the best we have. Fixes
9641           visualization in Totem.
9642
9643 2005-07-22  Wim Taymans  <wim@fluendo.com>
9644
9645         * docs/design/part-events.txt:
9646         Small update.
9647
9648         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9649         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9650         (gst_base_sink_activate_pull):
9651         Some more comments.
9652
9653         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9654         (gst_fake_src_create):
9655         Fix handoff marshall.
9656
9657         * gst/elements/gstidentity.c: (gst_identity_class_init),
9658         (gst_identity_transform_ip):
9659         We're a real inplace element.
9660
9661         * gst/gstbus.c: (gst_bus_post):
9662         Added some comments.
9663
9664         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9665         * tests/muxing/case1.c: (main):
9666         * tests/sched/dynamic-pipeline.c: (main):
9667         * tests/sched/interrupt1.c: (main):
9668         * tests/sched/interrupt2.c: (main):
9669         * tests/sched/interrupt3.c: (main):
9670         * tests/sched/runxml.c: (main):
9671         * tests/sched/sched-stress.c: (main):
9672         * tests/seeking/seeking1.c: (event_received), (main):
9673         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9674         (main):
9675         * tests/threadstate/threadstate3.c: (main):
9676         * tests/threadstate/threadstate4.c: (main):
9677         * tests/threadstate/threadstate5.c: (main):
9678         Fix the tests.
9679
9680 2005-07-21  Wim Taymans  <wim@fluendo.com>
9681
9682         * docs/design/part-seeking.txt:
9683         Some small additions.
9684
9685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9686         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9687         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9688         * gst/base/gstbasesink.h:
9689         discont values are gint64, handle the math correctly.
9690
9691         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9692         Make the basesrc report error if the source pad is not linked.
9693
9694         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9695         (gst_queue_loop), (gst_queue_handle_src_query),
9696         (gst_queue_src_activate_push):
9697         Make queue collect data even if the srcpad is not linked.
9698         Start pushing out data as soon as it is linked.
9699
9700         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9701         * gst/gstutils.h:
9702         Added gst_flow_get_name() to ease error reporting.
9703
9704 2005-07-20  Wim Taymans  <wim@fluendo.com>
9705
9706         * gst/gstmessage.c: (gst_message_new_segment_start),
9707         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9708         (gst_message_parse_segment_done):
9709         * gst/gstmessage.h:
9710         Added a bunch of messages for advanced seeking.
9711
9712         * gst/parse/grammar.y:
9713         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9714         (gst_dpman_state_changed):
9715         Fix some new-pad -> pad-added signals
9716
9717 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9718
9719         * docs/manual/appendix-porting.xml:
9720         * docs/pwg/appendix-porting.xml:
9721           Document new-pad/state-change signal renames and the FixedList
9722           type rename.
9723
9724 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9725
9726         * docs/manual/advanced-autoplugging.xml:
9727         * docs/manual/basics-helloworld.xml:
9728         * docs/manual/basics-pads.xml:
9729         * docs/random/ds/0.9-suggested-changes:
9730         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9731         * gst/gstelement.h:
9732         * gst/gstevent.h:
9733         * gst/gstformat.h:
9734         * gst/gstquery.h:
9735         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9736         (gst_structure_parse_array), (gst_structure_parse_value):
9737         * gst/gstvalue.c: (gst_type_is_fixed),
9738         (gst_value_list_prepend_value), (gst_value_list_append_value),
9739         (gst_value_list_get_size), (gst_value_list_get_value),
9740         (gst_value_transform_array_string), (gst_value_serialize_array),
9741         (gst_value_deserialize_array), (gst_value_intersect_array),
9742         (gst_value_is_fixed), (_gst_value_initialize):
9743         * gst/gstvalue.h:
9744           GstElement::new-pad -> pad-added, GstElement::state-change ->
9745           state-changed, GstValueFixedList -> GstValueArray, add format and
9746           flags as their own arguments in gst_element_seek() (should improve
9747           "bindeability"), remove function generators since they don't work
9748           under a whole bunch of compilers (they were deprecated already
9749           anyway).
9750
9751 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9752
9753         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9754         (_gst_debug_register_funcptr):
9755         * gst/gstinfo.h:
9756           Fix illegal cast on some platforms (#309253).
9757
9758 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9759
9760         * gst/gstmessage.c: (gst_message_new_custom):
9761         * gst/gstmessage.h:
9762           Add _new_custom, make _new_application a macro to _new_custom.
9763
9764 2005-07-20  Wim Taymans  <wim@fluendo.com>
9765
9766         * gst/base/gstbasesrc.c: (gst_base_src_init),
9767         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9768         * gst/base/gstbasesrc.h:
9769         Add a gboolean to decide when to push out a discont.
9770
9771         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9772         (gst_queue_loop), (gst_queue_handle_src_query),
9773         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9774         (gst_queue_set_property), (gst_queue_get_property):
9775         Some cleanups.
9776
9777         * tests/threadstate/threadstate1.c: (main):
9778         Make a thread test compile and run... very silly..
9779
9780
9781 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9782
9783         * docs/manual/appendix-porting.xml:
9784           Mention removal of libgstgconf-0.9.la and existence of gconf
9785           elements.
9786
9787 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9788
9789         * docs/pwg/advanced-clock.xml:
9790         * docs/pwg/appendix-porting.xml:
9791         * docs/pwg/intro-preface.xml:
9792         * docs/pwg/other-base.xml:
9793         * docs/pwg/other-manager.xml:
9794         * docs/pwg/other-nton.xml:
9795         * docs/pwg/other-ntoone.xml:
9796         * docs/pwg/other-oneton.xml:
9797         * docs/pwg/pwg.xml:
9798           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9799           demuxer), remove n-to-n (was never written), fix some code examples
9800           and links and update the porting section to include all this.
9801
9802 2005-07-19  Wim Taymans  <wim@fluendo.com>
9803
9804         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9805         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9806         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9807         (gst_queue_src_activate_push), (gst_queue_change_state),
9808         (gst_queue_get_property):
9809         * gst/gstqueue.h:
9810         Propagate GstFlowReturn more intelligently upstream and output
9811         an ERROR/EOS when streaming stopped due to fatal error.
9812
9813 2005-07-19  Wim Taymans  <wim@fluendo.com>
9814
9815         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9816         Don't block forever for the state change to complete, the
9817         pipeline already did with a sensible timeout.
9818
9819 2005-07-19  Wim Taymans  <wim@fluendo.com>
9820
9821         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9822         Make sure we never call the create function is we
9823         got deactivated.
9824
9825 2005-07-19  Andy Wingo  <wingo@pobox.com>
9826
9827         * gst/parse/parse.l: Attempt to solve bug #172815.
9828
9829 2005-07-19  Wim Taymans  <wim@fluendo.com>
9830
9831         * docs/design/part-clocks.txt:
9832         * docs/design/part-events.txt:
9833         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9834         Small docs updates.
9835         Only update the seeking values when we are not
9836         busy streaming.
9837
9838 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9839
9840         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9841           Oops, ignore the result of gst_pad_push_event here.
9842
9843 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9844
9845         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9846         (gst_base_src_activate_push):
9847           Send discont event from the loop function, as pads
9848           aren't activated yet in the activate_push handler.
9849
9850         * gst/gstbin.c: (bin_bus_handler):
9851           Don't leak element name.
9852
9853 2005-07-18  Andy Wingo  <wingo@pobox.com>
9854
9855         * configure.ac: Use AS_LIBTOOL_TAGS.
9856
9857 2005-07-18  Wim Taymans  <wim@fluendo.com>
9858
9859         * docs/gst/gstreamer.types:
9860         Remove deleted types.
9861
9862 2005-07-18  Wim Taymans  <wim@fluendo.com>
9863
9864         * check/elements/gstfakesrc.c: (GST_START_TEST):
9865         * configure.ac:
9866         * gst/Makefile.am:
9867         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9868         (init_popt_callback):
9869         * gst/gst.h:
9870         * gst/gst_private.h:
9871         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9872         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9873         * gst/gstbin.h:
9874         * gst/gstbus.h:
9875         * gst/gstconfig.h.in:
9876         * gst/gstelement.c: (gst_element_class_init),
9877         (gst_element_set_base_time), (gst_element_get_base_time),
9878         (iterator_fold_with_resync), (gst_element_change_state),
9879         (gst_element_dispose), (gst_element_get_bus):
9880         * gst/gstelement.h:
9881         * gst/gstelementfactory.h:
9882         * gst/gsterror.c: (_gst_core_errors_init):
9883         * gst/gsterror.h:
9884         * gst/gstevent.h:
9885         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9886         * gst/gstindex.c:
9887         * gst/gstinfo.c: (_gst_debug_init):
9888         * gst/gstmessage.c: (_gst_message_copy):
9889         * gst/gstmessage.h:
9890         * gst/gstminiobject.h:
9891         * gst/gstobject.c:
9892         * gst/gstobject.h:
9893         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9894         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9895         * gst/gstpad.h:
9896         * gst/gstparse.h:
9897         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9898         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9899         (gst_pipeline_get_last_stream_time):
9900         * gst/gstpipeline.h:
9901         * gst/gstpluginfeature.h:
9902         * gst/gstquery.h:
9903         * gst/gstscheduler.c:
9904         * gst/gstscheduler.h:
9905         * gst/gststructure.h:
9906         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9907         (gst_task_finalize), (gst_task_func), (gst_task_create),
9908         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9909         (gst_task_stop), (gst_task_pause):
9910         * gst/gsttask.h:
9911         * gst/gsttypefind.h:
9912         * gst/gsttypes.h:
9913         * gst/registries/gstlibxmlregistry.c: (load_feature),
9914         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9915         * gst/registries/gstxmlregistry.c:
9916         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9917         * gst/schedulers/threadscheduler.c:
9918         * libs/gst/control/dparammanager.h:
9919         * tools/gst-inspect.c: (print_element_list),
9920         (print_plugin_features), (print_element_features):
9921         * tools/gst-xmlinspect.c: (print_element_list),
9922         (print_plugin_info), (main):
9923         Removed plugable schedulers.
9924         Removed Scheduler/Manager from elements.
9925         Removed gsttypes.h, rearranged includes.
9926         Removed dependency pad<->element, element<>pipeline, and
9927         various others,  fix includes.
9928         implement gst_pad_get_parent() with gst_object_get_parent()
9929         Make GstTask sefcontained.
9930         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9931         timeout.
9932         Fix endless loop in iterator_fold_with_resync.
9933
9934
9935 2005-07-18  Wim Taymans  <wim@fluendo.com>
9936
9937         * gst/Makefile.am:
9938         * gst/gstarch.h:
9939         Remove old file.
9940
9941 2005-07-18  Wim Taymans  <wim@fluendo.com>
9942
9943         * gst/Makefile.am:
9944         No more cothreads.h
9945
9946 2005-07-18  Wim Taymans  <wim@fluendo.com>
9947
9948         * gst/cothreads.c:
9949         * gst/cothreads.h:
9950         Let's remove these.
9951
9952 2005-07-18  Wim Taymans  <wim@fluendo.com>
9953
9954         * docs/design/part-dynamic.txt:
9955         * docs/design/part-events.txt:
9956         * docs/design/part-seeking.txt:
9957         Some more docs in the works.
9958
9959         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9960         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9961         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9962         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9963         (gst_base_transform_handle_buffer),
9964         (gst_base_transform_sink_activate_push),
9965         (gst_base_transform_src_activate_pull),
9966         (gst_base_transform_set_passthrough),
9967         (gst_base_transform_is_passthrough):
9968         Refcounting fixes.
9969
9970         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9971         Cleanups.
9972
9973         * gst/gstevent.c: (gst_event_finalize):
9974         Set SRC to NULL.
9975
9976         * gst/gstutils.c: (gst_element_unlink),
9977         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9978         (gst_pad_proxy_setcaps):
9979         * gst/gstutils.h:
9980         Add _get_parent_element() to get a pads parent as an element.
9981
9982 2005-07-18  Wim Taymans  <wim@fluendo.com>
9983
9984         * check/gst/gstbin.c: (GST_START_TEST):
9985         Remove bogus test.
9986
9987 2005-07-18  Wim Taymans  <wim@fluendo.com>
9988
9989         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9990         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9991         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9992         (gst_base_sink_event), (gst_base_sink_do_sync),
9993         (gst_base_sink_chain), (gst_base_sink_loop),
9994         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9995         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9996         Refcounting fixes.
9997         Fix logic for returning ASYNC when not prerolled.
9998
9999 2005-07-18  Wim Taymans  <wim@fluendo.com>
10000
10001         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10002         Fix nasty refcount bug.
10003
10004 2005-07-16 Philippe Khalaf <burger@speedy.org>
10005
10006         * gst/elements/gstfdsrc.c:
10007         * gst/elements/gstfdsrc.h:
10008         * gst/elements/gstelements.c:
10009         * gst/elements/Makefile.am:
10010         Ported fdsrc to 0.9.
10011
10012 2005-07-16  Wim Taymans  <wim@fluendo.com>
10013
10014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10015         (gst_base_sink_do_sync):
10016         Fix compile error.
10017
10018 2005-07-16  Wim Taymans  <wim@fluendo.com>
10019
10020         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10021         (gst_base_sink_event), (gst_base_sink_get_times),
10022         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10023         * gst/base/gstbasesink.h:
10024         Store and use discont values when syncing buffers as described
10025         in design docs.
10026         
10027         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10028         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10029         (gst_base_src_activate_push):
10030         Push discont event when starting.
10031
10032         * gst/elements/gstidentity.c: (gst_identity_transform):
10033         Small cleanups.
10034
10035         * gst/gstbin.c: (gst_bin_change_state):
10036         Small cleanups in base_time  distribution.
10037
10038         * gst/gstelement.c: (gst_element_set_base_time),
10039         (gst_element_get_base_time), (gst_element_change_state):
10040         * gst/gstelement.h:
10041         Added methods for the base_time of the element.
10042         Some MT fixes.
10043
10044         * gst/gstpipeline.c: (gst_pipeline_send_event),
10045         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10046         (gst_pipeline_get_last_stream_time):
10047         * gst/gstpipeline.h:
10048         MT fixes.
10049         Handle seeking as described in design doc, remove stream_time
10050         hack.
10051         Cleanups clock and stream_time selection code. Added accessors
10052         for the stream_time.
10053         
10054
10055 2005-07-16  Andy Wingo  <wingo@pobox.com>
10056
10057         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10058         (#305291).
10059
10060 2005-07-16  Wim Taymans  <wim@fluendo.com>
10061
10062         * check/gst/gstbin.c: (GST_START_TEST):
10063         Make elements silent as the deep_notify refs the
10064         parent, which might make the test fail.
10065
10066         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10067         Don't hold the lock for too long.
10068
10069 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10070
10071         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10072           Don't unref the caps we passed to gst_caps_make_writable() after
10073           passing them. gst_caps_make_writable() will do that for us.
10074
10075 2005-07-15  Andy Wingo  <wingo@pobox.com>
10076
10077         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10078         (#157311).
10079
10080         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10081         own marshalling function for the handoff signal. Properly type the
10082         buffer as a buffer. Fixes some warnings. Should do a more general
10083         solution.
10084         (gst_identity_class_init): Plug into the right marshaller.
10085
10086 2005-07-15  Wim Taymans  <wim@fluendo.com>
10087
10088         * docs/design/part-TODO.txt:
10089         * docs/design/part-clocks.txt:
10090         * docs/design/part-element-sink.txt:
10091         * docs/design/part-events.txt:
10092         * docs/design/part-gstpipeline.txt:
10093         Updated docs, mostly DISCONT related.
10094
10095 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10096
10097         * docs/pwg/building-pads.xml:
10098           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10099
10100 2005-07-15  Andy Wingo  <wingo@pobox.com>
10101
10102         * tools/gst-typefind.c: Update, add copyright block.
10103
10104         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10105         Normalize and truncate caps before fixation.
10106
10107         * gst/gstcaps.h:
10108         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10109         discards all but the first structure from its argument.
10110
10111 2005-07-15  Wim Taymans  <wim@fluendo.com>
10112
10113         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10114         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10115         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10116         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10117         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10118         (gst_base_transform_chain), (gst_base_transform_change_state),
10119         (gst_base_transform_set_passthrough),
10120         (gst_base_transform_is_passthrough):
10121         * gst/base/gstbasetransform.h:
10122         Make passthrough work using the bufferpools.
10123         Changed API a bit, subclasses have to write into a buffer
10124         provided by the base class.
10125         More debug info in nego functions.
10126         
10127         * gst/elements/gstidentity.c: (gst_identity_init),
10128         (gst_identity_transform):
10129         Port to new base class.
10130
10131 2005-07-15  Wim Taymans  <wim@fluendo.com>
10132
10133         * gst/gstmessage.c: (gst_message_new_state_changed):
10134         * tools/gst-launch.c: (event_loop), (main):
10135         Totally dump messages in -launch with the -m option.
10136         Fix message name for State messages,
10137
10138 2005-07-14  Wim Taymans  <wim@fluendo.com>
10139
10140         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10141         Post error messages on errors.
10142
10143 2005-07-14  Wim Taymans  <wim@fluendo.com>
10144
10145         * gst/gstcaps.c: (gst_caps_do_simplify):
10146         Remove debug info.
10147
10148         * gst/gsterror.h:
10149         Define error for stream stopped.
10150
10151         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10152         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10153         Do proper return values.
10154
10155         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10156         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10157         (gst_pad_get_range):
10158         Better return values.
10159
10160         * gst/gstpad.h:
10161         Reorganise return values, add macro to check for fatal errors.
10162
10163         * gst/gstqueue.c: (gst_queue_chain):
10164         Return proper GstFlowReturn values,
10165
10166 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10167
10168         * docs/gst/gstreamer-sections.txt:
10169         * docs/gst/gstreamer.types:
10170         * docs/gst/tmpl/gst.sgml:
10171         * docs/gst/tmpl/gstbasesink.sgml:
10172         * docs/gst/tmpl/gstbasesrc.sgml:
10173         * docs/gst/tmpl/gstbasetransform.sgml:
10174         * docs/gst/tmpl/gstbin.sgml:
10175         * docs/gst/tmpl/gstbuffer.sgml:
10176         * docs/gst/tmpl/gstcaps.sgml:
10177         * docs/gst/tmpl/gstclock.sgml:
10178         * docs/gst/tmpl/gstcompat.sgml:
10179         * docs/gst/tmpl/gstconfig.sgml:
10180         * docs/gst/tmpl/gstelement.sgml:
10181         * docs/gst/tmpl/gstelementdetails.sgml:
10182         * docs/gst/tmpl/gstelementfactory.sgml:
10183         * docs/gst/tmpl/gstenumtypes.sgml:
10184         * docs/gst/tmpl/gsterror.sgml:
10185         * docs/gst/tmpl/gstevent.sgml:
10186         * docs/gst/tmpl/gstfakesink.sgml:
10187         * docs/gst/tmpl/gstfakesrc.sgml:
10188         * docs/gst/tmpl/gstfilesink.sgml:
10189         * docs/gst/tmpl/gstfilesrc.sgml:
10190         * docs/gst/tmpl/gstfilter.sgml:
10191         * docs/gst/tmpl/gstformat.sgml:
10192         * docs/gst/tmpl/gstghostpad.sgml:
10193         * docs/gst/tmpl/gstimplementsinterface.sgml:
10194         * docs/gst/tmpl/gstindex.sgml:
10195         * docs/gst/tmpl/gstindexfactory.sgml:
10196         * docs/gst/tmpl/gstinfo.sgml:
10197         * docs/gst/tmpl/gstiterator.sgml:
10198         * docs/gst/tmpl/gstmacros.sgml:
10199         * docs/gst/tmpl/gstmemchunk.sgml:
10200         * docs/gst/tmpl/gstminiobject.sgml:
10201         * docs/gst/tmpl/gstobject.sgml:
10202         * docs/gst/tmpl/gstpad.sgml:
10203         * docs/gst/tmpl/gstpadtemplate.sgml:
10204         * docs/gst/tmpl/gstparse.sgml:
10205         * docs/gst/tmpl/gstpipeline.sgml:
10206         * docs/gst/tmpl/gstplugin.sgml:
10207         * docs/gst/tmpl/gstpluginfeature.sgml:
10208         * docs/gst/tmpl/gstquery.sgml:
10209         * docs/gst/tmpl/gstqueue.sgml:
10210         * docs/gst/tmpl/gstregistry.sgml:
10211         * docs/gst/tmpl/gstregistrypool.sgml:
10212         * docs/gst/tmpl/gstscheduler.sgml:
10213         * docs/gst/tmpl/gstschedulerfactory.sgml:
10214         * docs/gst/tmpl/gststructure.sgml:
10215         * docs/gst/tmpl/gstsystemclock.sgml:
10216         * docs/gst/tmpl/gsttaglist.sgml:
10217         * docs/gst/tmpl/gsttagsetter.sgml:
10218         * docs/gst/tmpl/gsttrace.sgml:
10219         * docs/gst/tmpl/gsttrashstack.sgml:
10220         * docs/gst/tmpl/gsttypefind.sgml:
10221         * docs/gst/tmpl/gsttypefindfactory.sgml:
10222         * docs/gst/tmpl/gsttypes.sgml:
10223         * docs/gst/tmpl/gsturihandler.sgml:
10224         * docs/gst/tmpl/gsturitype.sgml:
10225         * docs/gst/tmpl/gstutils.sgml:
10226         * docs/gst/tmpl/gstvalue.sgml:
10227         * docs/gst/tmpl/gstversion.sgml:
10228         * docs/gst/tmpl/gstxml.sgml:
10229         * docs/libs/tmpl/gstcontrol.sgml:
10230         * docs/libs/tmpl/gstdataprotocol.sgml:
10231         * docs/libs/tmpl/gstdparam.sgml:
10232         * docs/libs/tmpl/gstdplinint.sgml:
10233         * docs/libs/tmpl/gstdpman.sgml:
10234         * docs/libs/tmpl/gstdpsmooth.sgml:
10235         * docs/libs/tmpl/gstgetbits.sgml:
10236         * docs/libs/tmpl/gstunitconvert.sgml:
10237         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10238         (gst_push_src_base_init), (gst_push_src_class_init),
10239         (gst_push_src_init), (gst_push_src_create):
10240         * gst/base/gstpushsrc.h:
10241         * gst/elements/gstelements.c:
10242         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10243         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10244         (gst_fake_sink_init), (gst_fake_sink_set_property),
10245         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10246         (gst_fake_sink_event), (gst_fake_sink_preroll),
10247         (gst_fake_sink_render), (gst_fake_sink_change_state):
10248         * gst/elements/gstfakesink.h:
10249         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10250         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10251         (gst_fake_src_base_init), (gst_fake_src_class_init),
10252         (gst_fake_src_init), (gst_fake_src_event_handler),
10253         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10254         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10255         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10256         (gst_fake_src_create_buffer), (gst_fake_src_create),
10257         (gst_fake_src_start), (gst_fake_src_stop):
10258         * gst/elements/gstfakesrc.h:
10259         * gst/elements/gstfilesink.c: (_do_init),
10260         (gst_file_sink_base_init), (gst_file_sink_class_init),
10261         (gst_file_sink_init), (gst_file_sink_dispose),
10262         (gst_file_sink_set_location), (gst_file_sink_set_property),
10263         (gst_file_sink_get_property), (gst_file_sink_open_file),
10264         (gst_file_sink_close_file), (gst_file_sink_query),
10265         (gst_file_sink_event), (gst_file_sink_render),
10266         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10267         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10268         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10269         * gst/elements/gstfilesink.h:
10270         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10271         (gst_file_src_class_init), (gst_file_src_init),
10272         (gst_file_src_finalize), (gst_file_src_set_location),
10273         (gst_file_src_set_property), (gst_file_src_get_property),
10274         (gst_file_src_map_region), (gst_file_src_map_small_region),
10275         (gst_file_src_create_mmap), (gst_file_src_create_read),
10276         (gst_file_src_create), (gst_file_src_is_seekable),
10277         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10278         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10279         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10280         (gst_file_src_uri_handler_init):
10281         * gst/elements/gstfilesrc.h:
10282           more autistic cleanliness in functions/names/defines
10283
10284 2005-07-13  Andy Wingo  <wingo@pobox.com>
10285
10286         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
10287         source couldn't negotiate.
10288
10289         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
10290         connections again.
10291
10292         * gst/gstutils.h:
10293         * gst/gstutils.c (gst_element_link_pads_filtered): New old
10294         function. I am channeling Hades. Put your boots on suckers!!!
10295
10296 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10297
10298         * testsuite/caps/Makefile.am:
10299         * testsuite/caps/value_compare.c:
10300         * testsuite/caps/value_intersect.c:
10301         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10302           move two testsuite apps over to the check dir
10303
10304 2005-07-12  Wim Taymans  <wim@fluendo.com>
10305
10306         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10307         Added more debug info in the negotiate process.
10308
10309         * gst/gstmessage.h:
10310         Prepare for segment playback.
10311
10312         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
10313         Better debugging.
10314
10315         * gst/gstutils.c:
10316         Some more docs.
10317
10318         * tools/gst-launch.c: (main):
10319         NULL pipeline on errors.
10320
10321 2005-07-12  Andy Wingo  <wingo@pobox.com>
10322
10323         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
10324         not it comes from a malloc region. Make sure our copy gets freed.
10325
10326 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10327
10328         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10329         * check/gst/gstmessage.c: (GST_START_TEST):
10330         * check/gst/gststructure.c: (GST_START_TEST),
10331         (gst_structure_suite), (main):
10332           more testing
10333         * gst/gstelement.c: (gst_element_message_full):
10334           clean up GError and debug string now that they get copied
10335         * gst/gstmessage.c: (gst_message_new_error),
10336         (gst_message_new_warning), (gst_message_parse_error),
10337         (gst_message_parse_warning):
10338           use GST_TYPE_G_ERROR for structure_new, and take copies of
10339           arguments, so that we don't mess up refcounting
10340
10341 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10342
10343         * check/Makefile.am:
10344           add per-test valgrind targets
10345         * check/gst-libs/gdp.c: (GST_START_TEST),
10346         (gst_data_protocol_suite), (main):
10347           clean up
10348
10349 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10350
10351         * check/Makefile.am:
10352           instate more valgrindable tests
10353         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10354         (GST_START_TEST), (fakesrc_suite):
10355         * check/gst/gstpad.c: (GST_START_TEST):
10356         * check/gst/gststructure.c: (GST_START_TEST):
10357           fix test leaks
10358         * docs/gst/tmpl/gstminiobject.sgml:
10359         * gst/gstpad.c: (gst_pad_finalize):
10360           fix the static mutex leak
10361
10362 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10363
10364         * check/Makefile.am:
10365           add two more tests for valgrinding
10366         * check/gst/gstvalue.c: (GST_START_TEST):
10367           test refcount of deserialized buffer, found a leak
10368         * docs/gst/gstreamer-docs.sgml:
10369         * docs/gst/gstreamer-sections.txt:
10370         * docs/gst/gstreamer.types:
10371         * docs/gst/tmpl/gstminiobject.sgml:
10372           add miniobject to docs
10373         * gst/gstminiobject.c:
10374           add some docs
10375         * gst/gstvalue.c: (gst_value_deserialize_buffer),
10376         (gst_string_unwrap):
10377           fix a hard-to-find invalid write for one of the tests
10378           fix a leak for deserialized buffers
10379
10380 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10381
10382         * docs/pwg/advanced-events.xml:
10383         * docs/pwg/advanced-request.xml:
10384         * docs/pwg/advanced-scheduling.xml:
10385         * docs/pwg/appendix-porting.xml:
10386         * docs/pwg/building-boiler.xml:
10387         * docs/pwg/intro-preface.xml:
10388         * docs/pwg/other-ntoone.xml:
10389           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
10390           of example code and explanation for pad activation, loop() and
10391           getrange() functions and a bit more. Remove old comments pointing
10392           to loop-functions.
10393         * examples/pwg/Makefile.am:
10394           Add loop/getrange examples.
10395
10396 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10397
10398         * configure.ac:
10399           check for valgrind binary + some fixes
10400         * check/gst.supp:
10401           valgrind suppressions for the tests
10402         * check/Makefile.am:
10403           add a valgrind: target that valgrinds the unit tests
10404         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
10405         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10406         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10407         * check/gst/gstghostpad.c:
10408           added some cleanup
10409         * check/gst/gstdata.c:
10410           removed
10411         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
10412         (thread_unref), (gst_mini_object_suite), (main):
10413           added
10414         * gst/gst.c: (gst_deinit):
10415         * gst/gst.h:
10416           add a method to clean up.
10417         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10418         (gst_system_clock_obtain):
10419           allow for disposing the system clock.
10420         * tools/gst-launch.c: (main):
10421           deinit
10422
10423 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10424
10425         * docs/gst/tmpl/gstbasesrc.sgml:
10426         * docs/gst/tmpl/gstfakesrc.sgml:
10427         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10428         (gst_base_src_init), (gst_base_src_set_property),
10429         (gst_base_src_get_property), (gst_base_src_get_range),
10430         (gst_base_src_start):
10431         * gst/base/gstbasesrc.h:
10432           add num-buffers property
10433         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10434         (gst_fakesrc_init), (gst_fakesrc_set_property),
10435         (gst_fakesrc_get_property), (gst_fakesrc_create),
10436         (gst_fakesrc_start):
10437           remove num-buffers property
10438
10439 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10440
10441         * docs/gst/gstreamer-sections.txt:
10442         * docs/gst/tmpl/gstbasesink.sgml:
10443         * docs/gst/tmpl/gstbasesrc.sgml:
10444         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10445         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10446         (gst_base_sink_finalize), (gst_base_sink_set_clock),
10447         (gst_base_sink_set_property), (gst_base_sink_get_property),
10448         (gst_base_sink_handle_object), (gst_base_sink_event),
10449         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10450         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
10451         (gst_base_sink_loop), (gst_base_sink_deactivate),
10452         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
10453         (gst_base_sink_change_state):
10454         * gst/base/gstbasesink.h:
10455         * gst/base/gstbasesrc.h:
10456         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
10457         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
10458         (gst_filesink_init):
10459           more macro splitting
10460
10461 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10462
10463         * gst/gstelement.c: (gst_element_get_bus):
10464           add debug
10465         * tools/gst-launch.c: (check_intr), (event_loop):
10466           fix bus leaks
10467
10468 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10469
10470         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
10471           fix a caps leak
10472
10473 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10474
10475         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10476         (gst_base_src_finalize):
10477           add finalize method and clean up properly
10478         * gst/gstpipeline.c: (gst_pipeline_dispose):
10479           add debug
10480
10481 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10482
10483         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10484         (gst_bin_suite):
10485           add more things to check
10486         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10487         * gst/gstelement.c:
10488           more debug
10489
10490 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10491
10492         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10493         (GST_START_TEST), (fakesrc_suite):
10494         * check/gst-libs/gdp.c: (GST_START_TEST):
10495         * check/gst/gst.c: (GST_START_TEST):
10496         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10497         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10498         * check/gst/gstbus.c: (GST_START_TEST):
10499         * check/gst/gstcaps.c: (GST_START_TEST):
10500         * check/gst/gstdata.c: (GST_START_TEST):
10501         * check/gst/gstelement.c: (GST_START_TEST):
10502         * check/gst/gstghostpad.c: (GST_START_TEST):
10503         * check/gst/gstiterator.c: (GST_START_TEST):
10504         * check/gst/gstmessage.c: (GST_START_TEST):
10505         * check/gst/gstobject.c: (GST_START_TEST):
10506         * check/gst/gstpad.c: (GST_START_TEST):
10507         * check/gst/gststructure.c: (GST_START_TEST):
10508         * check/gst/gstsystemclock.c: (GST_START_TEST),
10509         (gst_systemclock_suite):
10510         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10511         * check/gst/gstvalue.c: (GST_START_TEST):
10512         * check/pipelines/cleanup.c: (GST_START_TEST):
10513         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10514         * check/states/sinks.c: (GST_START_TEST):
10515         * check/gstcheck.c: (gst_check_init):
10516         * check/gstcheck.h:
10517           add debugging category
10518           use GST_START_TEST now, so we add a debug line
10519
10520 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10521
10522         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10523           add test for state change message on a bin
10524         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10525           add another test
10526         * gst/gstbin.c: (gst_bin_init):
10527         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10528         * gst/gstelement.c: (gst_element_post_message),
10529         (gst_element_set_state):
10530         * gst/gstelementfactory.c: (gst_element_factory_create):
10531         * gst/gstmessage.c: (gst_message_new):
10532         * gst/gstscheduler.c:
10533           various debugging additions and cleanups
10534
10535 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10536
10537         * check/Makefile.am:
10538         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10539         (main):
10540           adding tests for elements
10541         * gst/gstelement.c: (gst_element_dispose):
10542
10543 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * gst/registries/gstlibxmlregistry.c: (load_feature):
10546           plug more leaks.  A simple gst_init() now is leakfree, yay.
10547
10548 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10549
10550         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10551         (gst_xml_registry_load):
10552           plug another memleak
10553
10554 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10555
10556         * configure.ac:
10557           use GST_SET_ERROR_CFLAGS
10558         * docs/faq/cvs.xml:
10559           change to ERROR_CFLAGS
10560
10561 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10562
10563         * configure.ac:
10564           make GST_ERROR_CFLAGS overridable and re-enable Werror
10565         * docs/faq/cvs.xml:
10566           add a note about error CFLAGS
10567         * docs/gst/tmpl/gstfakesrc.sgml:
10568         * gst/elements/gstfakesrc.c:
10569           comment out some unused code
10570         * gst/gst.c: (split_and_iterate):
10571         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10572         (load_feature):
10573           plug some memleaks
10574
10575 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10576
10577         * common/Makefile.am:
10578         * common/gtk-doc.mak:
10579         * docs/gst/Makefile.am:
10580           factor out gtk-doc.mak
10581
10582 2005-07-07  Wim Taymans  <wim@fluendo.com>
10583
10584         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10585         (gst_thread_scheduler_dispose):
10586         Unlock the STREAM_LOCK completely.
10587
10588 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10589
10590         * check/Makefile.am:
10591         * check/elements/.cvsignore:
10592         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10593         (START_TEST), (fakesrc_suite), (main):
10594         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10595         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10596         (gst_fakesrc_create), (gst_fakesrc_start):
10597         * gst/elements/gstfakesrc.h:
10598           adding a first element test
10599
10600 2005-07-07  Andy Wingo  <wingo@pobox.com>
10601
10602         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10603         debug message.
10604
10605 2005-07-07  Wim Taymans  <wim@fluendo.com>
10606
10607         * gst/gstquery.c:
10608         * gst/gstquery.h:
10609         Remove old types
10610
10611 2005-07-07  Wim Taymans  <wim@fluendo.com>
10612
10613         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10614         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10615         Allow subclasses to implement their own negotiation.
10616
10617 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10618
10619         * docs/design/part-gstbin.txt:
10620         * docs/design/part-gstpipeline.txt:
10621           Update design notes to reflect the movement of
10622           responsibility for bus handling from GstPipeline to
10623           GstBin
10624
10625 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10626
10627         * configure.ac:
10628           Remove unnecessary queue2/3/4 examples.
10629
10630 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10631
10632         * examples/Makefile.am:
10633         * examples/helloworld/helloworld.c: (event_loop), (main):
10634         * examples/queue/queue.c: (event_loop), (main):
10635         * examples/queue2/queue2.c: (main):
10636           Update a couple of the examples to work again.
10637
10638         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10639         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10640          Spelling corrections and extra debug.
10641         
10642         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10643         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10644         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10645         * gst/gstbin.h:
10646         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10647         (gst_pipeline_change_state):
10648         * gst/gstpipeline.h:
10649           Move the bus handler for children to the GstBin, and create a
10650           separate bus for receiving messages from children to the one the
10651           bus sends 'upwards' on.
10652
10653 2005-07-06  Wim Taymans  <wim@fluendo.com>
10654
10655         * gst/base/README:
10656         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10657         (gst_base_sink_handle_object), (gst_base_sink_loop),
10658         (gst_base_sink_change_state):
10659         * gst/base/gstbasesink.h:
10660         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10661         (gst_base_src_init), (gst_base_src_setcaps),
10662         (gst_base_src_getcaps), (gst_base_src_loop),
10663         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10664         (gst_base_src_start), (gst_base_src_change_state):
10665         * gst/base/gstbasesrc.h:
10666         Make basesrc negotiate.
10667         Handle the case where preroll fails in basesink.
10668         Update README.
10669
10670 2005-07-06  Wim Taymans  <wim@fluendo.com>
10671
10672         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10673         Implement the fixate function.
10674         Clean up acceptcaps.
10675
10676 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10677
10678         * docs/pwg/building-filterfactory.xml:
10679         * docs/pwg/pwg.xml:
10680           Remove never-written filter-factory chapter; I'll add the various
10681           base classes to part 4 ("other element types") later on.
10682
10683 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10684
10685         * docs/pwg/advanced-negotiation.xml:
10686         * docs/pwg/building-boiler.xml:
10687         * docs/pwg/building-pads.xml:
10688         * docs/pwg/pwg.xml:
10689         * examples/pwg/Makefile.am:
10690           Add a chapter on caps negotiation, simplify the original code
10691           samples a bit w.r.t. caps negotiation, add link to the advanced
10692           section. Add a bunch of examples showing different use cases of
10693           different types of caps negotiation. Upstream renegotiation isn't
10694           fully documented yet since nobody knows how that works.
10695
10696 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10697
10698         * check/gst/gstpad.c:
10699         * check/gstcheck.c:
10700         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10701           if pad has no parent, return NULL as list of internal links
10702
10703 2005-07-05  Andy Wingo  <wingo@pobox.com>
10704
10705         * gst/elements/gstfilesrc.c:
10706         * gst/elements/gstfakesrc.c: 
10707         * gst/base/gstpushsrc.c:
10708         * gst/base/gstbasesrc.h: 
10709         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10710         
10711 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10712
10713         * Makefile.am:
10714           better report generation target (lcov needs a patch)
10715
10716 2005-07-05  Andy Wingo  <wingo@pobox.com>
10717
10718         * gst/elements, testsuite: Null if we got it...
10719
10720 2005-07-05  Wim Taymans  <wim@fluendo.com>
10721
10722         * configure.ac:
10723         * libs/gst/dataprotocol/Makefile.am:
10724         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10725         * libs/gst/dataprotocol/dataprotocol.h:
10726         * pkgconfig/Makefile.am:
10727         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10728         * pkgconfig/gstreamer-dataprotocol.pc.in:
10729         Ported dataprotol to 0.9. 
10730         Added pkgconfig files.
10731
10732 2005-07-05  Andy Wingo  <wingo@pobox.com>
10733
10734         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10735         Default to returning TRUE for the case when tranform_caps returns
10736         a fixed caps, like for identity or volume.
10737
10738         * check/gst/gstbus.c (pound_bus_with_messages): 
10739         * check/gst/gstmessage.c (START_TEST): 
10740         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10741         message API change.
10742
10743         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10744         logic weaks here: always run transform_caps, trying passthrough
10745         operation only if the original caps intersects with the transform.
10746
10747         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10748         source and sink caps.
10749
10750         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10751         Intersect the peer caps with the pad template before going into
10752         transform_caps.
10753         (gst_base_transform_transform_caps): More debugging.
10754
10755         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10756         src argument.
10757
10758 2005-07-04  Edward Hervey  <edward@fluendo.com>
10759
10760         * gst/gstutils.c:
10761         * gst/gstutils.h:
10762         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10763         in bindings.
10764
10765 2005-07-04  Andy Wingo  <wingo@pobox.com>
10766
10767         * check/gst/gstpad.c: Only set explicit caps on pads.
10768
10769 2005-07-01  Andy Wingo  <wingo@pobox.com>
10770
10771         * tests/network-clock.scm: Commentary update.
10772
10773         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10774         Didn't really make sense, not implementable with basetransform,
10775         etc.
10776         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10777         attempt at implementing the sync property, needs an unlock method.
10778
10779         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10780         New func, by default returns the same caps (the identity
10781         transformation).
10782         (gst_base_transform_getcaps): Uses transform_caps to return
10783         something sensible.
10784         (gst_base_transform_setcaps): Complicated logic to get caps on
10785         both pads, even if they are different, and to call set_caps once
10786         for every time both pads get their caps set.
10787         (gst_base_transform_handle_buffer): Give the ref to the transform
10788         function. Allows in-place modification of the buffer.
10789
10790         * gst/base/gstbasetransform.h (transform_caps): New class method.
10791         Given caps on one side, what can I do on the other.
10792         (set_caps): Take two caps, one for each side of the element.
10793
10794         * gst/gstpad.h:
10795         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10796         caps in place. This is safe because we can check the mutability of
10797         the caps, and a good idea because fixate functions are just called
10798         as a matter of last resort. (Not actually implemented.)
10799         (gst_pad_set_caps): If the caps we're setting is actually the same
10800         as the existing pad caps, just update the pointer without calling
10801         setcaps. Assert that caps is either NULL or fixed, as per the
10802         docs.
10803
10804         * gst/gstghostpad.c: Update for fixate changes.
10805
10806 2005-07-02  Andy Wingo  <wingo@pobox.com>
10807
10808         * gst/gstcaps.c:
10809         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10810         two refcounts makes it immutable, which is enough. Doc more.
10811
10812 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10813
10814         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10815           Put the mini_object into GValue as a mini_object,
10816           not a gpointer, since that's how we declared
10817           the signal.
10818
10819 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10820
10821         * examples/pwg/Makefile.am:
10822           Fix buildbot again.
10823
10824 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10825
10826         * docs/pwg/building-testapp.xml:
10827           Add extra check.
10828         * examples/pwg/Makefile.am:
10829           Fix buildbot.
10830
10831 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10832
10833         * configure.ac:
10834         * examples/Makefile.am:
10835         * examples/pwg/Makefile.am:
10836         * examples/pwg/extract.pl:
10837           Enable building the PWG examples.
10838         * docs/pwg/advanced-interfaces.xml:
10839           Add URI interface stub.
10840         * docs/pwg/advanced-types.xml:
10841         * docs/pwg/other-autoplugger.xml:
10842         * docs/pwg/appendix-porting.xml:
10843         * docs/pwg/pwg.xml:
10844           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10845         * docs/pwg/building-boiler.xml:
10846         * docs/pwg/building-chainfn.xml:
10847         * docs/pwg/building-pads.xml:
10848         * docs/pwg/building-props.xml:
10849         * docs/pwg/building-state.xml:
10850         * docs/pwg/building-testapp.xml:
10851           Update the building-*.xml parts for 0.9 changes. All examples
10852           code blocks compile in examples/pwg/*.
10853
10854 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10855
10856         * docs/manual/advanced-autoplugging.xml:
10857         * docs/manual/appendix-checklist.xml:
10858         * docs/manual/appendix-integration.xml:
10859         * docs/manual/highlevel-components.xml:
10860           Fix playbin/decodebin examples, update docs a bit, mention bus
10861           instead of signals in various places, mention kmplayer and
10862           kaffeine since they have a working GStreamer backend in the KDE
10863           section.
10864
10865 2005-06-30  Wim Taymans  <wim@fluendo.com>
10866
10867         * CHANGES-0.9:
10868         * docs/design/draft-ghostpads.txt:
10869         * docs/design/draft-push-pull.txt:
10870         * docs/design/draft-query.txt:
10871         * docs/design/part-TODO.txt:
10872         * docs/design/part-query.txt:
10873         Added CHANGES-0.9 doc, updated status of other docs.
10874         
10875         * gst/gstquery.h:
10876         Remove "hmm" macro
10877
10878 2005-06-30  Wim Taymans  <wim@fluendo.com>
10879
10880         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10881         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10882         (gst_base_sink_change_state):
10883         * gst/base/gstbasesink.h:
10884         Some tweaks, only EOS and a buffer complete a preroll.
10885
10886 2005-06-30  Andy Wingo  <wingo@pobox.com>
10887
10888         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10889         activate_push down to the internal pad as well.
10890
10891 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10892
10893         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10894
10895         * gst/gsttaginterface.c:
10896           Some documentation fixes (#307394 and #307397).
10897
10898 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10899
10900         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10901
10902         * gst/gstvalue.c: (gst_value_intersect_list):
10903           Fix memleak (#309125).
10904
10905 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10906
10907         * docs/manual/advanced-dataaccess.xml:
10908           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10909         * docs/manual/basics-pads.xml:
10910           Add reference for filtered caps to above chapter.
10911
10912 2005-06-30  Wim Taymans  <wim@fluendo.com>
10913
10914         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10915         (gst_bin_change_state):
10916         Probes are gone.
10917         Lame attempt at making the state change function a bit
10918         more readable.
10919
10920 2005-06-30  Wim Taymans  <wim@fluendo.com>
10921
10922         * docs/design/part-clocks.txt:
10923         * docs/design/part-element-sink.txt:
10924         * docs/design/part-events.txt:
10925         * docs/design/part-preroll.txt:
10926         * docs/design/part-states.txt:
10927         Some more tweeks and additions to the docs.
10928
10929 2005-06-30  Wim Taymans  <wim@fluendo.com>
10930
10931         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10932         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10933         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10934         (gst_pad_check_pull_range), (gst_pad_get_range),
10935         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10936         * gst/gstpad.h:
10937         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10938         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10939         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10940         (gst_pad_remove_buffer_probe):
10941         Removed atomic operations, use existing LOCK.
10942         Move exception handling out of main code path.
10943
10944 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10945
10946         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10947         (silly_return_true_function), (gst_pad_class_init),
10948         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10949         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10950         (gst_pad_send_event):
10951           Fix accumulator, add default value by using _emitv() instead
10952           of _emit() for signal emission.
10953
10954 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10955
10956         * docs/manual/advanced-dataaccess.xml:
10957         * examples/manual/Makefile.am:
10958           Add probe example.
10959         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10960           Make work (??).
10961
10962 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10963
10964         * gst/elements/gstfilesink.c: (gst_filesink_render):
10965           Simplify code so that we don't have to handle short
10966           writes and return GST_FLOW_ERROR if an error occured.
10967
10968 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10969
10970         * docs/gst/gstreamer-docs.sgml:
10971           Remove probes more.
10972
10973 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10974
10975         * docs/gst/gstreamer-sections.txt:
10976         * docs/gst/tmpl/gstpad.sgml:
10977         * docs/gst/tmpl/gstprobe.sgml:
10978         * gst/Makefile.am:
10979         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10980         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10981         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10982         (gst_pad_push_event), (gst_pad_send_event):
10983         * gst/gstpad.h:
10984         * gst/gstutils.c: (gst_pad_add_data_probe),
10985         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10986         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10987         (gst_pad_remove_buffer_probe):
10988         * gst/gstutils.h:
10989           Remove old probes, add new g-signal-based probes and some utility
10990           functions.
10991
10992 2005-06-29  Edward Hervey  <edward@fluendo.com>
10993
10994         * gst/gstelementfactory.c:
10995         * gst/gstutils.h:
10996         * gst/gstutils.c:
10997         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10998         the definition to the header file.
10999
11000 2005-06-29  Andy Wingo  <wingo@pobox.com>
11001
11002         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11003         plugins from the source directory.
11004
11005 2005-06-29  Wim Taymans  <wim@fluendo.com>
11006
11007         * docs/gst/tmpl/gstbuffer.sgml:
11008         * docs/gst/tmpl/gstclock.sgml:
11009         Some fixings for blantently wrong text.
11010
11011 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11012
11013         * check/Makefile.am:
11014         * gst/gst.c: (add_path_func), (init_pre):
11015         * gst/gstregistry.c: (gst_registry_add_path):
11016           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11017           only scan the GST_PLUGIN_PATH locations, and not add
11018           system locations
11019
11020 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11021
11022         * docs/gst/gstreamer-sections.txt:
11023         * docs/gst/tmpl/gstbasesrc.sgml:
11024         * gst/gstelement.c:
11025         * gst/gstelement.h:
11026         * gst/gstevent.c:
11027         * gst/gstutils.c:
11028           doc fixes
11029
11030 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11031
11032         * docs/manual/advanced-autoplugging.xml:
11033           Fix autoplugging example.
11034
11035 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11036
11037         * docs/manual/advanced-autoplugging.xml:
11038         * docs/manual/mime-world.fig:
11039           Try to get autoplugging working, fix type detection. Fix text
11040           in hello-world image.
11041
11042 2005-06-29  Wim Taymans  <wim@fluendo.com>
11043
11044         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11045         (gst_base_sink_change_state):
11046         Small debug line.
11047
11048         * gst/gstclock.h:
11049         map SIGNAL and BROADCAST to the right function.
11050
11051         * gst/gstobject.h:
11052         Remove redundant braces.
11053
11054         * gst/gstpad.c: (gst_pad_set_caps):
11055         Don't call setcaps function when reseting caps to NULL.
11056
11057         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11058         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11059         (gst_system_clock_id_unschedule):
11060         Use BROADCAST as this is what we do.
11061
11062 2005-06-29  Wim Taymans  <wim@fluendo.com>
11063
11064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11065         We are actually prerolling before commiting the state
11066         change. 
11067
11068 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11069
11070         * docs/manual/advanced-clocks.xml:
11071         * docs/manual/advanced-interfaces.xml:
11072         * docs/manual/advanced-metadata.xml:
11073         * docs/manual/advanced-position.xml:
11074         * docs/manual/advanced-schedulers.xml:
11075         * docs/manual/advanced-threads.xml:
11076         * docs/manual/appendix-porting.xml:
11077         * docs/manual/basics-bins.xml:
11078         * docs/manual/basics-bus.xml:
11079         * docs/manual/basics-elements.xml:
11080         * docs/manual/basics-helloworld.xml:
11081         * docs/manual/basics-pads.xml:
11082         * docs/manual/highlevel-components.xml:
11083         * docs/manual/manual.xml:
11084         * docs/manual/thread.fig:
11085           Update (until threads/scheduling) Application Development Manual;
11086           remove GstThread, add GstBus, add simple porting checklist, add
11087           documentation for tag writing, clocks, make all examples until this
11088           part compile and run.
11089         * examples/manual/Makefile.am:
11090           Update from changes to Application Development Manual; add bus
11091           example, remove thread example.
11092
11093 2005-06-28  Wim Taymans  <wim@fluendo.com>
11094
11095         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11096         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11097         (gst_bus_source_dispatch):
11098         Add debugging messages.
11099         Make internal methods static.
11100         Handle the case where the bus is flushed in the handler.
11101         
11102         * gst/gstelement.c: (gst_element_get_bus):
11103         Fix refcount in _get_bus();
11104
11105         * gst/gstpipeline.c: (gst_pipeline_change_state),
11106         (gst_pipeline_get_clock_func):
11107         Clock refcounting fixes.
11108         Handle the case where preroll timed out more gracefully.
11109         
11110         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11111         Clean up the internal thread in dispose. This is needed
11112         for subclasses that actually get disposed.
11113         
11114         * gst/schedulers/threadscheduler.c:
11115         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11116         (gst_thread_scheduler_dispose):
11117         Free thread pool in dispose.
11118
11119 2005-06-28  Andy Wingo  <wingo@pobox.com>
11120
11121         * tests/network-clock-utils.scm (debug, print-event): New utils.
11122
11123         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11124         (*packet-loss*): Unified loss probability.
11125         (network-time): Report out-of-band events.
11126
11127         * tests/plot-data: Add support for out-of-band events. Hack it
11128         into this script instead of passing it down the pipe; should fix
11129         this later.
11130
11131 2005-06-28  Wim Taymans  <wim@fluendo.com>
11132
11133         * docs/gst/gstreamer.types:
11134         * docs/gst/tmpl/gstbasesrc.sgml:
11135         * docs/gst/tmpl/gstpad.sgml:
11136         Docs fixes.
11137
11138 2005-06-28  Wim Taymans  <wim@fluendo.com>
11139
11140         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11141         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11142         (gst_proxy_pad_do_fixatecaps):
11143         Correctly proxy the check_pull_range function.
11144
11145 2005-06-28  Andy Wingo  <wingo@pobox.com>
11146
11147         * tests/network-clock.scm: Removed need for slib.
11148         
11149 2005-06-28  Wim Taymans  <wim@fluendo.com>
11150
11151         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11152         (gst_basesink_preroll_queue_flush):
11153         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11154         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11155         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11156         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11157         (gst_proxy_pad_set_property):
11158         * gst/gstpad.c:
11159         * gst/gstpad.h:
11160         * gst/gstqueue.c: (gst_queue_init):
11161         The deprecated pad loop function is removed now.
11162
11163 2005-06-28  Andy Wingo  <wingo@pobox.com>
11164
11165         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11166         New parameters, simulate network packet loss.
11167
11168         * tests/network-clock-utils.scm: Initialize the RNG.
11169
11170 2005-06-28  Wim Taymans  <wim@fluendo.com>
11171
11172         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11173         (gst_basesink_event), (gst_basesink_deactivate):
11174         Flushing the preroll queue always needs to unlock the waiters.
11175
11176 2005-06-28  Edward Hervey  <edward@fluendo.com>
11177
11178         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11179         Wheen a seek was successful on a pipeline, set the stream_time to the
11180         seek offset in order to have a synchronized stream_time.
11181
11182 2005-06-28  Wim Taymans  <wim@fluendo.com>
11183
11184         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11185         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11186         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11187         (gst_proxy_pad_do_fixatecaps):
11188         Call wrapper function instead of just calling the function
11189         pointers. This takes care of any locking and whatmore.
11190
11191 2005-06-28  Wim Taymans  <wim@fluendo.com>
11192
11193         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11194         (gst_pad_pull_range):
11195         * gst/gstpad.h:
11196         CONNECTED -> LINKED.
11197
11198 2005-06-28  Andy Wingo  <wingo@pobox.com>
11199
11200         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11201         source-munging commit!!!
11202
11203         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11204         (gst_object_sink): Take gpointer arguments, not GstObject --
11205         avoids casts. Like GLib.
11206
11207         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11208         activate.
11209
11210 2005-06-27  Andy Wingo  <wingo@pobox.com>
11211
11212         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11213         remaining buffer.
11214
11215         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11216         returns a sorted copy of the trace list.
11217         (gst_alloc_trace_print_live): New API, only prints traces with
11218         live objects. Sort the list.
11219         (gst_alloc_trace_print_all): Sort the list.
11220         (gst_alloc_trace_print): Align columns.
11221
11222         * gst/elements/gstttypefindelement.c:
11223         * gst/elements/gsttee.c:
11224         * gst/base/gstbasesrc.c:
11225         * gst/base/gstbasesink.c:
11226         * gst/base/gstbasetransform.c:
11227         * gst/gstqueue.c: Adapt for pad activation changes.
11228
11229         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11230         sched.
11231         (gst_pipeline_dispose): Drop ref on sched.
11232
11233         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11234         (gst_pad_activate_default): Push mode by default.
11235         (pre_activate_switch, post_activate_switch): New stubs, things to
11236         do before and after switching activation modes on pads.
11237         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11238         the pad's activate function to choose which mode to activate.
11239         Shortcut on deactivation and call the right function directly.
11240         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11241         mode.
11242         (gst_pad_activate_push): New API, same for push mode.
11243         (gst_pad_set_activate_function) 
11244         (gst_pad_set_activatepull_function) 
11245         (gst_pad_set_activatepush_function): Setters for new API.
11246
11247         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11248         Trace all miniobjects.
11249         (gst_mini_object_make_writable): Unref the arg if we copy, like
11250         gst_caps_make_writable.
11251
11252         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11253
11254         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11255         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11256         Adapt for new pad API.
11257
11258         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11259
11260         * gst/gstelement.h:
11261         * gst/gstelement.c (gst_element_iterate_src_pads) 
11262         (gst_element_iterate_sink_pads): New API functions.
11263         
11264         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11265         should fold into gstiterator.c in some form.
11266         (gst_element_pads_activate): Simplified via use of fold and
11267         delegation of decisions to gstpad->activate.
11268
11269         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11270         help in debugging.
11271
11272         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11273         class once in init, like gstmessage. Didn't run into this issue
11274         but it seems correct. Don't initialize a trace, gstminiobject does
11275         that.
11276
11277         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11278         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11279         to the bus.
11280         (assert_live_count): New util function, uses alloc traces to check
11281         cleanup.
11282
11283         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
11284         To be modified when unlink drops the internal pad.
11285
11286 2005-06-27  Wim Taymans  <wim@fluendo.com>
11287
11288         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
11289         (gst_bin_change_state):
11290         Cleanup the get_state() function a little, make sure it
11291         iterates the same set of elements.
11292         Added stub iterate_state_order().
11293
11294 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11295
11296         * docs/gst/gstreamer-docs.sgml:
11297         * docs/gst/gstreamer-sections.txt:
11298         * docs/gst/gstreamer.types:
11299         * docs/gst/tmpl/gstbasesink.sgml:
11300         * docs/gst/tmpl/gstbasesrc.sgml:
11301         * docs/gst/tmpl/gstbasetransform.sgml:
11302         * docs/gst/tmpl/gstelement.sgml:
11303         * docs/gst/tmpl/gstiterator.sgml:
11304         * gst/base/gstbasesrc.c:
11305         * gst/base/gstbasesrc.h:
11306         * gst/base/gstbasetransform.h:
11307         * gst/gstelement.c:
11308         * gst/gstiterator.h:
11309           adding basetransform and iterator docs
11310
11311 2005-06-27  Andy Wingo  <wingo@pobox.com>
11312
11313         * docs/design/part-activation.txt: Notes on how activation should
11314         work -- not quite implemented yet.
11315
11316 2005-06-25  Wim Taymans  <wim@fluendo.com>
11317
11318         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
11319         At least get the chain function correct, needs more
11320         fixing.
11321
11322 2005-06-25  Wim Taymans  <wim@fluendo.com>
11323
11324         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11325         (gst_basesink_handle_object), (gst_basesink_event),
11326         (gst_basesink_do_sync), (gst_basesink_handle_event),
11327         (gst_basesink_change_state):
11328         * gst/gsttask.h:
11329         Right, two problems here: ghostpads don't take locks and
11330         glib _rec_mutex_lock_full() with depth==0 still locks.
11331         Catch illegal locking and g_warn them.
11332
11333 2005-06-25  Wim Taymans  <wim@fluendo.com>
11334
11335         * check/states/sinks.c: (START_TEST), (gst_object_suite):
11336         Have to check for completion now...
11337
11338 2005-06-25  Wim Taymans  <wim@fluendo.com>
11339
11340         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11341         (gst_basesink_handle_object), (gst_basesink_event),
11342         (gst_basesink_do_sync), (gst_basesink_handle_event),
11343         (gst_basesink_change_state):
11344         * gst/gstpad.h:
11345         Unlock STREAM_LOCK whatever the recursion was.
11346
11347 2005-06-25  Wim Taymans  <wim@fluendo.com>
11348
11349         * gst/base/gstbasesink.c: (gst_basesink_set_property),
11350         (gst_basesink_preroll_queue_empty),
11351         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
11352         (gst_basesink_event), (gst_basesink_do_sync),
11353         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
11354         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
11355         (gst_basesink_change_state):
11356         Reworked the base sink, handle event and buffer serialisation
11357         correctly and removed possible deadlock.
11358         Handle EOS correctly.
11359
11360 2005-06-25  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
11363         (gst_pipeline_change_state):
11364         * tools/gst-launch.c: (check_intr), (event_loop), (main):
11365         Allow elements to post EOS in the state change function.
11366         Fix up -launch, make it exit the poll loop when the
11367         pipeline actually changed state.
11368         Fix up warning parsing in -launch.
11369
11370 2005-06-25  Wim Taymans  <wim@fluendo.com>
11371
11372         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
11373         (gst_tee_sink_activate):
11374         Core takes STREAM_LOCK for us now.
11375
11376 2005-06-25  Wim Taymans  <wim@fluendo.com>
11377
11378         * gst/gstelement.c: (gst_element_get_state_func),
11379         (gst_element_set_state):
11380         * gst/gstelement.h:
11381         * gst/gstmessage.c: (gst_message_parse_error),
11382         (gst_message_parse_warning):
11383         Keep track of current target state while performing a state
11384         change so that subclasses can do something interesting.
11385         Fix parsing of warning/error messages when GError is NULL.
11386
11387 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11388
11389         * docs/gst/Makefile.am:
11390         * docs/gst/gstreamer-docs.sgml:
11391         * docs/gst/gstreamer-sections.txt:
11392         * docs/gst/gstreamer.types:
11393         * docs/gst/tmpl/gstbasesink.sgml:
11394         * docs/gst/tmpl/gstbasesrc.sgml:
11395         * docs/gst/tmpl/gstbin.sgml:
11396         * docs/gst/tmpl/gstcompat.sgml:
11397         * docs/gst/tmpl/gstfakesink.sgml:
11398         * docs/gst/tmpl/gstfakesrc.sgml:
11399         * docs/gst/tmpl/gstfilesink.sgml:
11400         * docs/gst/tmpl/gstfilesrc.sgml:
11401         * docs/gst/tmpl/gstindex.sgml:
11402         * docs/manual/appendix-quotes.xml:
11403         * gst/base/gstbasesrc.h:
11404         * gst/elements/gstfakesrc.h:
11405         * gst/gstmessage.h:
11406           start pulling in base classes and elements in our docs
11407
11408 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
11409
11410         * docs/gst/Makefile.am:
11411         * docs/libs/Makefile.am:
11412           fixed make distcheck with gtk-doc 1.3
11413
11414 2005-06-23  Wim Taymans  <wim@fluendo.com>
11415
11416         * gst/gstelement.c: (gst_element_get_state_func),
11417         (gst_element_set_state), (gst_element_change_state):
11418         When the state did not change, also report NO_PREROLL
11419         when it matters.
11420
11421 2005-06-23  Wim Taymans  <wim@fluendo.com>
11422
11423         * gst/gstpad.c: (gst_pad_event_default):
11424         * gst/gstqueue.c: (gst_queue_loop):
11425         No unsafe task pausing please.
11426
11427 2005-06-23  Wim Taymans  <wim@fluendo.com>
11428
11429         * gst/schedulers/threadscheduler.c:
11430         (gst_thread_scheduler_task_start),
11431         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
11432         Ref the task before pushing it on the threadpool. This
11433         makes sure that we have a ref when the threadfunction is
11434         actually called.
11435
11436 2005-06-23  Andy Wingo  <wingo@pobox.com>
11437
11438         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
11439         offset is greater than the file's size.
11440
11441         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
11442         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
11443         * gst/gstobject.c (gst_object_class_init): Make the class lock
11444         recursive. Wim won't let me drop deep_notify. Decodebin works
11445         again, whoopdy doo.
11446
11447         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
11448         internal pad, and hacks accordingly. Doesn't do it on the target
11449         pad because we change its caps. Probably catches all cases of
11450         interest tho.
11451         (gst_ghost_pad_set_property): Connect to notify::caps as
11452         appropritate.
11453
11454         * tests/network-clock.scm (plot-simulation): Pipe data to the
11455         elite python skript.
11456
11457         * tests/network-clock-utils.scm (define-parameter): New macro,
11458         defines a parameter that can be set via the command line.
11459         (set-parameter!, parse-parameter-arguments): Command line args
11460         parser.
11461
11462         * tests/plot-data: Simple matplotlib-based plotter, takes input on
11463         stdin.
11464
11465 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
11466
11467         * gst/elements/gsttypefindelement.c:
11468         (gst_type_find_element_handle_event):
11469           Don't restart typefinding on a discont.
11470         * gst/gstelement.c: (gst_element_set_state):
11471           Debug spelling fix.
11472         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11473           Allow changing mode of an active pad.
11474           Debug output fixes.
11475         * gst/registries/gstlibxmlregistry.c: (load_feature):
11476           Don't cast a static pad template to a normal pad template.
11477
11478 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11479
11480         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11481         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11482           remove gst_strtoll completely, since it didn't actually do
11483           anything more than what g_ascii_strtoull already does.
11484           check for range errors when deserializing
11485           do a cast for the unsigned cases; but further fixing needs
11486           a decision on what the interpretation of "(int)" and
11487           deserialization should be for values that fall outside the
11488           type's boundaries (ie, refuse, or interpret as casting)
11489
11490 2005-06-23  Wim Taymans  <wim@fluendo.com>
11491
11492         * check/Makefile.am:
11493         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11494         * docs/design/part-live-source.txt:
11495         * docs/design/part-states.txt:
11496         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11497         (gst_basesrc_set_live), (gst_basesrc_is_live),
11498         (gst_basesrc_get_range), (gst_basesrc_activate),
11499         (gst_basesrc_change_state):
11500         * gst/base/gstbasesrc.h:
11501         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11502         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11503         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11504         * gst/gstelement.c: (gst_element_get_state_func),
11505         (gst_element_set_state):
11506         * gst/gstelement.h:
11507         * gst/gsttypes.h:
11508         * tools/gst-launch.c: (event_loop), (main):
11509         Added support for live sources and other elements that
11510         cannot do preroll.
11511         Updated design docs, added live-source design doc.
11512         Implemented live source functionality in basesrc
11513         Fix error condition in _bin_get_state()
11514         Implement live source handling in -launch.
11515         Added check for live sources.
11516         Fixed case in GstBin where elements were changed state
11517         multiple times.
11518
11519
11520 2005-06-23  Andy Wingo  <wingo@pobox.com>
11521
11522         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11523         borken refcounting.
11524
11525         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11526         gst_caps_replace takes care of this for us.
11527
11528         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11529         gst_pad_set_caps on the target, not just its setcaps() function.
11530
11531         * tests/network-clock.scm: 
11532         * tests/network-clock-utils.scm: A network clock simulator.
11533         Something of an algorithmic testbed before doing something in C.
11534
11535 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11536
11537         * check/Makefile.am:
11538         * check/gst/capslist.h:
11539           copy over from 0.8, and add two with bitmasks specified with
11540           (int) 0xFF...
11541         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11542           add test to parse everything from capslist.h
11543         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11544         (main):
11545           add test for structure deserialization
11546         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11547           add tests for deserialization of strings to int types
11548         * gst/gststructure.c: (gst_structure_nth_field_name):
11549         * gst/gststructure.h:
11550           add a way to get the name of a field referenced by index
11551         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11552           instead of checking if the resulting long long lies between
11553           min and max, we check if the long long would fit into
11554           a number of bytes for the final type.
11555           This fixes cases where a string represents 2^32 - 1, which
11556           when cast to int would be the (valid) -1, but is bigger than
11557           G_MAXINT
11558
11559 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11560
11561         * gst/parse/grammar.y:
11562           add a log line for type deserialization
11563
11564 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11565
11566         * check/gst/gstvalue.c: (START_TEST):
11567         * gst/gstvalue.c: (gst_value_deserialize):
11568           return long long, not int, so gint64 deserialization actually
11569           works.  Is there any flag that makes the compiler check this ?
11570           Fixes #308559
11571
11572 2005-06-22  Wim Taymans  <wim@fluendo.com>
11573
11574         * gst/gstbuffer.h:
11575         Added convenience macros for setting buffers in GValue.
11576
11577 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11578
11579         * check/gst/.cvsignore:
11580         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11581           add a test deserializing int64, and comment part out because
11582           it fails, yay !
11583
11584 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11585
11586         * check/Makefile.am:
11587         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11588         * testsuite/Makefile.am:
11589         * testsuite/caps/Makefile.am:
11590         * testsuite/caps/value_serialize.c:
11591         * testsuite/test_gst_init.c:
11592           move a value_serialize test over
11593
11594 2005-06-20  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/gstpad.c:
11597         Small doc updates.
11598         
11599         * gst/gstvalue.c: (gst_value_compare_buffer),
11600         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11601         (gst_value_compare_flags), (gst_value_serialize_flags),
11602         (gst_value_deserialize_flags), (_gst_value_initialize):
11603         Fix serialisation of buffers, they are not boxed types anymore
11604
11605 2005-06-20  Wim Taymans  <wim@fluendo.com>
11606
11607         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11608         Testcase to show error in buffer-on-caps serialisation.
11609
11610 2005-06-20  Andy Wingo  <wingo@pobox.com>
11611
11612         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11613         will be adding to later.
11614
11615         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11616         if its socks fill with rocks.
11617         (gst_system_clock_obtain): Set the name on object construction.
11618         Avoid double-checked locking.
11619
11620 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11621
11622         * gst/gsturi.c: (gst_element_make_from_uri):
11623           Fix potential endless loop.
11624
11625 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11626
11627         * check/Makefile.am:
11628           add gsttag
11629         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11630         (main):
11631           move over from testsuite dir and clean up
11632         * configure.ac:
11633         * gst/gsttag.c:
11634         * testsuite/Makefile.am:
11635         * testsuite/tags/.cvsignore:
11636         * testsuite/tags/Makefile.am:
11637         * testsuite/tags/merge.c:
11638           remove testsuite/tags
11639
11640 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11641
11642         * docs/gst/gstreamer-sections.txt:
11643         * docs/gst/tmpl/gstenumtypes.sgml:
11644         * win32/gstenumtypes.c:
11645           clean up documentation build a little
11646
11647 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11648
11649         * check/gstcheck.h:
11650           add macros for checking refcounts on objects and caps
11651         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11652           add some more unit tests
11653         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11654         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11655           fix leaked refcounts (I hope :)) so unittest works
11656         * gst/gstpad.h:
11657           whitespace removal
11658
11659 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * configure.ac: back to HEAD
11662
11663 === release 0.9.1 ===
11664
11665 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11666
11667         * NEWS:
11668         * RELEASE:
11669           updated
11670
11671 2005-06-17  Andy Wingo  <wingo@pobox.com>
11672
11673         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11674         assert; it's always possible that the pad gets deactivated in
11675         between the checks in gstpad.c and the implementation. Rely on
11676         finish_preroll() to return a FLUSHING or similar instead of on the
11677         assert.
11678         
11679         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11680         clock and post an EOS message if we come out of finish_preroll in
11681         the playing state.
11682
11683 2005-06-16  David Schleef  <ds@schleef.org>
11684
11685         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11686         (gst_capsfilter_set_property): Allow NULL as possible value
11687         for filter_caps property, indicating GST_CAPS_ANY.
11688
11689 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11690
11691         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11692           fix debug output
11693         * gst/schedulers/Makefile.am:
11694           use libgst prefix
11695         * gstreamer.spec.in:
11696           fix spec for it
11697
11698 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11699
11700         * gstreamer.spec.in:
11701           clean up
11702
11703 2005-06-08  Andy Wingo  <wingo@pobox.com>
11704
11705         * gst/gstutils.c: RPAD fixes all around.
11706         (gst_element_link_pads): Refcounting fixes.
11707
11708         * tools/gst-inspect.c:
11709         * tools/gst-xmlinspect.c:
11710         * parse/grammar.y:
11711         * gst/base/gsttypefindhelper.c:
11712         * gst/base/gstbasesink.c:
11713         * gst/gstqueue.c: RPAD fixes.
11714
11715         * gst/gstghostpad.h:
11716         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11717         pads. The tricky thing is they provide both source and sink
11718         interfaces, since they proxy the internal pad for the external
11719         pad, and vice versa. Implement with lower-level ProxyPad objects,
11720         with the interior proxy pad as a child of the exterior ghost pad.
11721         Should write a doc on this.
11722         
11723         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11724         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11725         gst_object API.
11726         
11727         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11728         pads are real pads. No ghost pads in this file. Not documenting
11729         the myriad s/RPAD/PAD/ and REALIZE fixes.
11730         (gst_pad_class_init): Add properties for "direction" and
11731         "template". Both are construct-only, so they can't change during
11732         the life of the pad. Fixes properly deriving from GstPad.
11733         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11734         derived objects, just set properties when creating the objects via
11735         g_object_new.
11736         (gst_pad_get_parent): Implement as a function, return NULL if the
11737         parent is not an element.
11738         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11739         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11740         
11741         * gst/gstobject.c (gst_object_class_init): Make name a construct
11742         property. Don't set it in the object init.
11743
11744         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11745         with UNKNOWN direction.
11746         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11747         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11748         (gst_element_remove_pad): Remove ghost-pad special cases.
11749         (gst_element_pads_activate): Remove rpad cruft.
11750
11751         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11752         catch the pad's-parent-not-an-element case.
11753
11754         * gst/gst.h: Include gstghostpad.h.
11755
11756         * gst/gst.c (init_post): No more real, ghost pads.
11757
11758         * gst/Makefile.am: Add gstghostpad.[ch].
11759
11760         * check/Makefile.am:
11761         * check/gst/gstbin.c:
11762         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11763         into a bin creates ghost pads, and that the refcounts are right.
11764         Partly moved from gstbin.c.
11765
11766 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11767
11768         * check/gst-libs/.cvsignore:
11769         * check/gst/.cvsignore:
11770         * check/pipelines/.cvsignore:
11771           ignore more
11772         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11773         (START_TEST), (cleanup_suite), (main):
11774           add some tests related to cleanup after running pipelines
11775
11776 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11777
11778         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11779           add a testsuite for GstBuffer
11780
11781 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11782
11783         * gst/gstminiobject.h:
11784           add defines for accessing the refcount
11785
11786 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11787
11788         * Makefile.am: added support for html unit test coverage reports
11789
11790 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11791
11792         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11793           Free existing caps if the capsfilter changes. Add a FIXME about
11794           setting those caps on the pads.
11795
11796         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11797           Before adding a ghost pad to a parent bin, check that there isn't
11798           already one for the element on the bin. Prevents infinite recursion
11799           when using decodebin in parse pipelines. Andy says he'll rewrite the
11800           way this works anyway, so ignore the hack.
11801
11802 2005-06-02  Andy Wingo  <wingo@pobox.com>
11803
11804         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11805         file size, pass it on to the type find helper.
11806
11807         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11808         segment_start and segment_end properly according to the seek
11809         method. Segment_end is still a bit flaky because offset can be
11810         negative for CUR and END cases, but it takes -1 as an "unset"
11811         value.
11812
11813 2005-06-02  Wim Taymans  <wim@fluendo.com>
11814
11815         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11816         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11817         (gst_basesink_activate):
11818         * gst/base/gstbasesink.h:
11819         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11820         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11821         (gst_pad_query), (gst_pad_start_task):
11822         * gst/gstpad.h:
11823         * gst/gstqueue.c: (gst_queue_bufferalloc),
11824         (gst_queue_handle_sink_event), (gst_queue_chain):
11825         Bufferalloc: return GstFlowReturn to more accuratly report
11826         why allocation failed.
11827
11828 2005-06-02  Wim Taymans  <wim@fluendo.com>
11829
11830         * gst/gstpipeline.c: (gst_pipeline_send_event):
11831         Take snapshot of state without blocking.
11832
11833 2005-06-02  Wim Taymans  <wim@fluendo.com>
11834
11835         * docs/design/part-TODO.txt:
11836         * docs/design/part-caps.txt:
11837         * docs/design/part-clocks.txt:
11838         * docs/design/part-negotiation.txt:
11839         * docs/design/part-preroll.txt:
11840         Small doc updates 
11841
11842 2005-05-30  Wim Taymans  <wim@fluendo.com>
11843
11844         * gst/elements/gstidentity.c: (gst_identity_event),
11845         (gst_identity_transform), (gst_identity_get_property):
11846         Protect last_message property as it is accessed from
11847         multiple threads.
11848
11849 2005-05-30  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/gstelement.c: (gst_element_init),
11852         (gst_element_pads_activate), (gst_element_change_state):
11853         Slicker pad activation code.
11854
11855 2005-05-30  Wim Taymans  <wim@fluendo.com>
11856
11857         * gst/Makefile.am:
11858         * gst/gstelement.h:
11859         * gst/gstelementfactory.h:
11860         * gst/gsttypes.h:
11861         Move elementfactory methods to separate .h file.
11862
11863 2005-05-30  Wim Taymans  <wim@fluendo.com>
11864
11865         * docs/design/part-overview.txt:
11866         * gst/gstsystemclock.h:
11867         Small typo fixes, doc updates.
11868
11869 2005-05-30  Wim Taymans  <wim@fluendo.com>
11870
11871         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11872         (init_popt_callback):
11873         Remove cpu-opt flag.
11874
11875 2005-05-30  Wim Taymans  <wim@fluendo.com>
11876
11877         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11878         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11879         * gst/gstbuffer.h:
11880         Avoid typechecking in places where not needed.
11881         Added accessor for malloc_data.
11882
11883 2005-05-30  Wim Taymans  <wim@fluendo.com>
11884
11885         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11886         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11887         (gst_pad_configure_sink), (gst_pad_configure_src),
11888         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11889         (gst_pad_start_task):
11890         Propagate errors from _set_caps() in configure_src/sink
11891         functions instead of returning TRUE.
11892         FLUSH events can travel up and downstream
11893
11894
11895 2005-05-30  Wim Taymans  <wim@fluendo.com>
11896
11897         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11898         (gst_basesink_activate):
11899         Handle EOS in preroll.
11900
11901 2005-05-30  Wim Taymans  <wim@fluendo.com>
11902
11903         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11904         (gst_queue_loop), (gst_queue_handle_src_event):
11905         Remove old pieces of code
11906         Flushing the queue in an upstream event is a very bad idea.
11907
11908 2005-05-26  Andy Wingo  <wingo@pobox.com>
11909
11910         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11911         gst_value_set_mini_object so as to add a ref on the object (which
11912         will be removed when the value is unset).
11913
11914         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11915         arg type in ::handoff.
11916
11917         * gst/gstelement.c (gst_element_change_state): Also deactivate
11918         pads in READY->NULL, just in case the element didn't make it to
11919         PAUSED. Wingo tested, Wim approved.
11920
11921 2005-05-26  Wim Taymans  <wim@fluendo.com>
11922
11923         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11924         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11925         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11926         A flushing pad cannot be used to alloc_buffer from.
11927
11928 2005-05-26  Wim Taymans  <wim@fluendo.com>
11929
11930         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11931         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11932         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11933         (gst_bus_create_watch), (gst_bus_add_watch_full):
11934         * gst/gstbus.h:
11935         Implement a real GSource and use g_main_context_wakeup() to
11936         signal new messages instead of the socketpair.
11937
11938 2005-05-25  Wim Taymans  <wim@fluendo.com>
11939
11940         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11941         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11942         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11943         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11944         (gst_pad_send_event), (gst_pad_start_task):
11945         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11946         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11947         (gst_queue_sink_activate), (gst_queue_src_activate),
11948         (gst_queue_change_state):
11949         * gst/gstqueue.h:
11950         Fix state changes for non sinks. We now change sinks, then elements
11951         with unconnected srcpads, then the rest.
11952         More efficient queue unlocking in flush and state changes.
11953         Set the pad activate mode even if it does not have an activate
11954         function.
11955
11956 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11957
11958         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11959           Don't go in pull mode for non-seekable sources.
11960         * gst/elements/gsttypefindelement.h:
11961         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11962         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11963         (free_entry), (stop_typefinding),
11964         (gst_type_find_element_handle_event), (find_peek),
11965         (gst_type_find_element_chain), (do_pull_typefind),
11966         (gst_type_find_element_change_state):
11967           Allow typefinding (w/o seeking) in push-mode, simplified version
11968           of what was in 0.8.
11969         * gst/gstutils.c: (gst_buffer_join):
11970         * gst/gstutils.h:
11971           gst_buffer_join() from 0.8.
11972
11973 2005-05-25  Wim Taymans  <wim@fluendo.com>
11974
11975         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11976         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11977         (gst_pad_send_event), (gst_pad_start_task):
11978         Disable attempt at mode switching until it is figured out.
11979
11980 2005-05-25  Wim Taymans  <wim@fluendo.com>
11981
11982         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11983         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11984         (gst_basesink_finish_preroll), (gst_basesink_chain),
11985         (gst_basesink_loop), (gst_basesink_activate),
11986         (gst_basesink_change_state):
11987         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11988         (gst_basesrc_get_range), (gst_basesrc_loop),
11989         (gst_basesrc_activate):
11990         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11991         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11992         (gst_real_pad_init), (gst_real_pad_set_property),
11993         (gst_real_pad_get_property), (gst_pad_set_active),
11994         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11995         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11996         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11997         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11998         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11999         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12000         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12001         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12002         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12003         (gst_pad_stop_task):
12004         * gst/gstpad.h:
12005         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12006         (gst_queue_loop), (gst_queue_src_activate):
12007         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12008         (gst_task_get_state):
12009         * gst/gsttask.h:
12010         * gst/schedulers/threadscheduler.c:
12011         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12012         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12013         in task function.
12014         Remove ACTIVE pad flag, use FLUSHING everywhere
12015         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12016         functions.
12017         Add locks around IS_FLUSHING when reading.
12018         Take STREAM lock in chain(), get_range() functions so plugins
12019         don't need to take it anymore.
12020         
12021
12022
12023 2005-05-25  Wim Taymans  <wim@fluendo.com>
12024
12025         * tools/gst-launch.c: (event_loop):
12026         Unref message after using its contents instead of
12027         before.
12028
12029 2005-05-24  Wim Taymans  <wim@fluendo.com>
12030
12031         * docs/design/draft-ghostpads.txt:
12032         * docs/design/draft-push-pull.txt:
12033         * docs/design/draft-query.txt:
12034         * docs/design/part-overview.txt:
12035         Docs updates, added general overview doc.
12036
12037 2005-05-21  David Schleef  <ds@schleef.org>
12038
12039         * docs/gst/tmpl/old/GstBin.sgml:
12040         * docs/gst/tmpl/old/GstBuffer.sgml:
12041         * docs/gst/tmpl/old/GstCaps.sgml:
12042         * docs/gst/tmpl/old/GstClock.sgml:
12043         * docs/gst/tmpl/old/GstCompat.sgml:
12044         * docs/gst/tmpl/old/GstData.sgml:
12045         * docs/gst/tmpl/old/GstElement.sgml:
12046         * docs/gst/tmpl/old/GstEvent.sgml:
12047         * docs/gst/tmpl/old/GstIndex.sgml:
12048         * docs/gst/tmpl/old/GstStructure.sgml:
12049         * docs/gst/tmpl/old/GstTag.sgml:
12050         * docs/gst/tmpl/old/cothreads.sgml:
12051         * docs/gst/tmpl/old/cothreads_compat.sgml:
12052         * docs/gst/tmpl/old/gettext.sgml:
12053         * docs/gst/tmpl/old/gobject2gtk.sgml:
12054         * docs/gst/tmpl/old/grammar.tab.sgml:
12055         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12056         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12057         * docs/gst/tmpl/old/gst_private.sgml:
12058         * docs/gst/tmpl/old/gstaggregator.sgml:
12059         * docs/gst/tmpl/old/gstarch.sgml:
12060         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12061         * docs/gst/tmpl/old/gstbufferstore.sgml:
12062         * docs/gst/tmpl/old/gstdata_private.sgml:
12063         * docs/gst/tmpl/old/gstdisksink.sgml:
12064         * docs/gst/tmpl/old/gstdisksrc.sgml:
12065         * docs/gst/tmpl/old/gstelementfactory.sgml:
12066         * docs/gst/tmpl/old/gstextratypes.sgml:
12067         * docs/gst/tmpl/old/gstfakesink.sgml:
12068         * docs/gst/tmpl/old/gstfakesrc.sgml:
12069         * docs/gst/tmpl/old/gstfdsink.sgml:
12070         * docs/gst/tmpl/old/gstfdsrc.sgml:
12071         * docs/gst/tmpl/old/gstfilesink.sgml:
12072         * docs/gst/tmpl/old/gstfilesrc.sgml:
12073         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12074         * docs/gst/tmpl/old/gstidentity.sgml:
12075         * docs/gst/tmpl/old/gstindexfactory.sgml:
12076         * docs/gst/tmpl/old/gstmarshal.sgml:
12077         * docs/gst/tmpl/old/gstmd5sink.sgml:
12078         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12079         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12080         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12081         * docs/gst/tmpl/old/gstpipefilter.sgml:
12082         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12083         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12084         * docs/gst/tmpl/old/gstshaper.sgml:
12085         * docs/gst/tmpl/old/gstspider.sgml:
12086         * docs/gst/tmpl/old/gstspideridentity.sgml:
12087         * docs/gst/tmpl/old/gststatistics.sgml:
12088         * docs/gst/tmpl/old/gsttee.sgml:
12089         * docs/gst/tmpl/old/gsttimecache.sgml:
12090         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12091         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12092         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12093         * docs/gst/tmpl/old/types.sgml:
12094           I didn't intend to add these or check them in.
12095
12096 2005-05-19  David Schleef  <ds@schleef.org>
12097
12098         * configure.ac: Use -no-common everywhere.  In a sane world, it
12099           would be the default in libtool, because without it, you can't
12100           build DLLs on Windows.
12101         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12102         * docs/gst/gstreamer-sections.txt:
12103         * docs/gst/tmpl/gstcpu.sgml:
12104         * docs/gst/tmpl/gstdata.sgml:
12105         * docs/gst/tmpl/gstthread.sgml:
12106
12107 2005-05-19  David Schleef  <ds@schleef.org>
12108
12109         * gst/gstminiobject.c: (gst_value_set_mini_object),
12110         (gst_value_take_mini_object), (gst_value_get_mini_object):
12111         * gst/gstminiobject.h: Add GValue set/get functions.
12112
12113 2005-05-19  Wim Taymans  <wim@fluendo.com>
12114
12115         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12116         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12117         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12118         * gst/gstbuffer.h:
12119         * gst/gstbus.c: (gst_bus_post):
12120         * gst/gstelement.c: (gst_element_get_random_pad):
12121         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12122         Make subbufer unref the parent in finalize.
12123         some more debugging info.
12124
12125
12126 2005-05-19  Wim Taymans  <wim@fluendo.com>
12127
12128         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12129         (gst_basesink_init), (gst_basesink_finalize),
12130         (gst_basesink_activate), (gst_basesink_change_state):
12131         Don't free preroll queue too early.
12132
12133 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12134
12135         * gst/Makefile.am:
12136         * gst/ROADMAP:
12137           Hi, I'm outdated. Please shoot me.
12138
12139 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12140
12141         * gst/gstpipeline.c: (gst_pipeline_send_event):
12142           Do not access variables after they have been deleted.
12143
12144 2005-05-19  Wim Taymans  <wim@fluendo.com>
12145
12146         * tools/gst-inspect.c: (print_plugin_features):
12147         A plugin feature does unfortunatly not use the
12148         object name yet...
12149
12150 2005-05-18  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12153         Port _span() functions to new subbuffers.
12154
12155 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12156
12157         * gst/gstbin.c: (gst_bin_add_func):
12158           Fix clock settery in bins when adding kids after the clock has
12159           been selected.
12160
12161 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12162
12163         * gst/elements/gstidentity.c: (gst_identity_class_init):
12164           Workaround until signals support GstMiniObject.
12165
12166 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12167
12168         * gst/gstbuffer.c:
12169         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12170
12171 2005-05-18  Wim Taymans  <wim@fluendo.com>
12172
12173         * gst/base/Makefile.am:
12174         * gst/base/gstadapter.c: (gst_adapter_base_init),
12175         (gst_adapter_class_init), (gst_adapter_init),
12176         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12177         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12178         (gst_adapter_flush), (gst_adapter_available),
12179         (gst_adapter_available_fast):
12180         * gst/base/gstadapter.h:
12181         Ported and added adapter to the base classes.
12182
12183 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12184
12185         * gst/gst.c:
12186         * gst/gstmessage.c:
12187           Make sure the class is reffed/unreffed once before threads can be
12188           used.  Fixes #304551.
12189
12190 2005-05-17  Wim Taymans  <wim@fluendo.com>
12191
12192         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12193         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12194         * gst/gstminiobject.c: (gst_mini_object_get_type),
12195         (gst_mini_object_free):
12196         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12197         (gst_pad_push), (gst_pad_push_event):
12198         * gst/gstqueue.c: (gst_queue_change_state):
12199         Don't queue buffers in basesink when we are flushing.
12200         Unref buffer when flushing in basesink.
12201         Flush queue when going to READY
12202         Unref buffer when _push() returns an error.
12203         Don't free MiniObject instance when refcount is incremented
12204         in _finalize() so that we can recover objects.
12205
12206 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12207
12208         * docs/manual/advanced-schedulers.xml:
12209         * docs/manual/appendix-checklist.xml:
12210         * docs/pwg/advanced-clock.xml:
12211         * docs/pwg/advanced-interfaces.xml:
12212         * docs/pwg/advanced-request.xml:
12213         * docs/pwg/advanced-types.xml:
12214         * docs/pwg/intro-preface.xml:
12215         * examples/plugins/example.c: (gst_example_get_type),
12216         (gst_example_class_init), (gst_example_chain),
12217         (gst_example_set_property), (gst_example_get_property),
12218         (gst_example_change_state), (plugin_init):
12219         * examples/plugins/example.h:
12220           small doc fixes
12221
12222 2005-05-17  Wim Taymans  <wim@fluendo.com>
12223
12224         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12225         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12226         * gst/gstqueue.c: (gst_queue_change_state):
12227         Clear queue when going to READY.
12228         Remove IN_SETCAPS flag too.
12229
12230 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12231
12232         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12233           Remove implicit cast from gboolean to GstElementStateReturn;
12234           make sure we still return failure in paused => ready case if
12235           the parent class fails to change state and our own stop 
12236           vfunc succeeds.
12237
12238 2005-05-17  Wim Taymans  <wim@fluendo.com>
12239
12240         * tools/gst-launch.c: (event_loop):
12241         Message was unreffed too soon.
12242
12243 2005-05-16  Andy Wingo  <wingo@pobox.com>
12244
12245         * gst/gstbin.c (sink_iterator_filter): Err... um...
12246
12247         * check/gst/gstbin.c (test_ghost_pads): New test for the
12248         ghosting-if-elements-not-in-same-bin behavior.
12249
12250 2005-05-16  David Schleef  <ds@schleef.org>
12251
12252         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12253         accessing refcount directly.
12254
12255 2005-05-15  David Schleef  <ds@schleef.org>
12256
12257         * check/Makefile.am: remove GstData checks
12258         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12259         * gst/Makefile.am: add miniobject, remove data
12260         * gst/gst.h: add miniobject, remove data
12261         * gst/gstdata.c: remove
12262         * gst/gstdata.h: remove
12263         * gst/gstdata_private.h: remove
12264         * gst/gsttypes.h: remove GstEvent and GstMessage
12265         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12266         * gst/gstmarshal.list: change BOXED -> OBJECT
12267
12268         Implement GstMiniObject.
12269         * gst/gstminiobject.c:
12270         * gst/gstminiobject.h:
12271
12272         Modify to be subclasses of GstMiniObject.
12273         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12274         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12275         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12276         (gst_subbuffer_get_type), (gst_subbuffer_init),
12277         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12278         (gst_buffer_span):
12279         * gst/gstbuffer.h:
12280         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12281         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12282         (_gst_event_copy), (gst_event_new):
12283         * gst/gstevent.h:
12284         * gst/gstmessage.c: (_gst_message_initialize),
12285         (gst_message_get_type), (gst_message_class_init),
12286         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
12287         (gst_message_new), (gst_message_new_error),
12288         (gst_message_new_warning), (gst_message_new_tag),
12289         (gst_message_new_state_changed), (gst_message_new_application):
12290         * gst/gstmessage.h:
12291         * gst/gstprobe.c: (gst_probe_perform),
12292         (gst_probe_dispatcher_dispatch):
12293         * gst/gstprobe.h:
12294         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
12295         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
12296         (_gst_query_copy), (gst_query_new):
12297
12298         Update elements for GstData -> GstMiniObject changes
12299         * gst/gstquery.h:
12300         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
12301         (gst_queue_chain), (gst_queue_loop):
12302         * gst/elements/gstbufferstore.c:
12303         (gst_buffer_store_add_buffer_func),
12304         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
12305         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12306         (gst_fakesink_render):
12307         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12308         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
12309         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
12310         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
12311         (gst_filesrc_create_read):
12312         * gst/elements/gstidentity.c: (gst_identity_class_init):
12313         * gst/elements/gsttypefindelement.c:
12314         (gst_type_find_element_src_event), (free_entry_buffers),
12315         (gst_type_find_element_handle_event):
12316         * libs/gst/dataprotocol/dataprotocol.c:
12317         (gst_dp_header_from_buffer):
12318         * libs/gst/dataprotocol/dataprotocol.h:
12319         * libs/gst/dataprotocol/dp-private.h:
12320
12321 2005-05-15  David Schleef  <ds@schleef.org>
12322
12323         * gst/elements/gstelements.c: Don't include headers that were
12324         just removed.
12325
12326 2005-05-15  David Schleef  <ds@schleef.org>
12327
12328         * gst/elements/Makefile.am: Remove some elements that don't
12329         need to be in the core (or even exist at all).
12330         * gst/elements/gstaggregator.c:
12331         * gst/elements/gstaggregator.h:
12332         * gst/elements/gstmd5sink.c:
12333         * gst/elements/gstmd5sink.h:
12334         * gst/elements/gstmultifilesrc.c:
12335         * gst/elements/gstmultifilesrc.h:
12336         * gst/elements/gstpipefilter.c:
12337         * gst/elements/gstpipefilter.h:
12338         * gst/elements/gstshaper.c:
12339         * gst/elements/gstshaper.h:
12340         * gst/elements/gststatistics.c:
12341         * gst/elements/gststatistics.h:
12342         * po/POTFILES.in: Remove above files.
12343
12344 2005-05-14  Andy Wingo  <wingo@pobox.com>
12345
12346         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
12347         so as to get the refs right.
12348         (sink_iterator_filter): New function, wraps bin_element_is_sink,
12349         unreffing objects that don't pass the filter.
12350
12351         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
12352         gst_element_set_bus.
12353         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
12354         normal cases, this will destroy the bus.
12355
12356         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
12357         object.
12358
12359         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
12360         has no sinks.
12361
12362 2005-05-13  Andy Wingo  <wingo@pobox.com>
12363
12364         * gst/gstutils.c (gst_element_link_pads): Instead of calling
12365         gst_pad_link, call pad_link_maybe_ghosting,
12366         (pad_link_maybe_ghosting): Links pads, making sure that the
12367         elements being linked are in the same bin.
12368         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
12369         Helpers for pad_link_maybe_ghosting.
12370
12371 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12372
12373         * configure.ac:
12374           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
12375
12376 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
12377
12378         * docs/design/part-element-source.txt:
12379           Mention GstPushSrc
12380
12381 2005-05-12  Wim Taymans  <wim@fluendo.com>
12382
12383         * gst/base/gstbasesink.c: (gst_basesink_init),
12384         (gst_basesink_activate):
12385         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
12386         (gst_basesrc_is_seekable):
12387         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12388         (bin_element_is_sink), (gst_bin_change_state):
12389         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12390         * gst/gstelement.h:
12391         Identify sinks by their flag to avoid overly complicated
12392         checks (fow now).
12393         Do state changes even for elements not reachable from the
12394         sinks.
12395         BaseSink is a sink now :)
12396         Some more debugging info in the basesrc.
12397
12398
12399 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12400
12401         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
12402           Implement _query on a bin, similar to _send_event.
12403
12404 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
12405
12406         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
12407           Discont event offset format should be GST_FORMAT_BYTES,
12408           not GST_FORMAT_TIME.
12409
12410 2005-05-12  Wim Taymans  <wim@fluendo.com>
12411
12412         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
12413         Same fix as Ronald's but without the signal. 
12414
12415 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12416
12417         * gst/gstutils.c: (gst_element_query_position):
12418           No, an element is not a pad.
12419
12420 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12421
12422         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
12423         (gst_bin_get_state):
12424           If a child is removed from a bin while we remove the child from
12425           the bin and while we're retrieving its state, signal this to the
12426           get_state function so we abort the wait (instead of waiting for
12427           a timeout) and can immediately re-iterate over all other elements.
12428
12429 2005-05-12  Wim Taymans  <wim@fluendo.com>
12430
12431         * gst/base/Makefile.am:
12432         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
12433         (gst_basesrc_start):
12434         * gst/base/gstbasesrc.h:
12435         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
12436         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
12437         (gst_pushsrc_init), (gst_pushsrc_create):
12438         * gst/base/gstpushsrc.h:
12439         Added is_seekable to BaseSrc
12440         Added simple PushSrc.
12441
12442 2005-05-11  Wim Taymans  <wim@fluendo.com>
12443
12444         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
12445         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12446         (gst_element_link_pads), (gst_element_query_position),
12447         (gst_element_query_convert), (intersect_caps_func),
12448         (gst_pad_query_position), (gst_pad_query_convert):
12449         Fix refcounting in utils function.
12450         No point in trying to activate a pad when it's added, it could
12451         be added from the state change function and then we deadlock, the
12452         element has to decide what to do.
12453
12454 2005-05-10  Andy Wingo  <wingo@pobox.com>
12455
12456         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
12457         *all* the arguments.
12458
12459         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
12460         stream lock if it's a FLUSH_DONE; normal flushes don't get the
12461         lock (according to the docs -- if this is wrong change the docs).
12462
12463         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
12464         flush messages in the NULL state.
12465
12466         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
12467         message immediately and return.
12468         (gst_bus_set_flushing): New function. If a bus is flushing, it
12469         flushes out any queued messages and immediately unrefs new
12470         messages. This is so when an element goes to NULL, all of the
12471         unhandled messages coming from it can be freed, and their
12472         references to the element dropped. In other words: message source
12473         ref considered harmful :P
12474
12475         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12476         we're finished with it.
12477
12478         * gst/gstmessage.c (gst_message_new_state_changed): 
12479
12480 2005-05-10  Wim Taymans  <wim@fluendo.com>
12481
12482         * gst/gstvalue.c: (gst_value_compare_flags),
12483         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12484         (_gst_value_initialize):
12485         Added flags serialize/deserialize/compare code.
12486
12487 2005-05-09  Andy Wingo  <wingo@pobox.com>
12488
12489         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12490         Intersect the peer's caps with our caps.
12491
12492 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12493
12494         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12495         * gst/elements/gsttypefindelement.c: (find_peek):
12496           Handle negative offsets better. Fixes decodebin.
12497
12498 2005-05-09  Wim Taymans  <wim@fluendo.com>
12499
12500         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12501         (gst_base_transform_event):
12502         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12503         Implement accept_caps.
12504         Fix silly lock/unlock mismatch in base class.
12505
12506 2005-05-09  Wim Taymans  <wim@fluendo.com>
12507
12508         * docs/design/draft-push-pull.txt:
12509         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12510         * gst/elements/gstfilesink.c: (gst_filesink_init),
12511         (gst_filesink_query):
12512         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12513         (gst_type_find_handle_src_query), (find_element_get_length):
12514         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12515         * gst/gstelement.h:
12516         * gst/gstmessage.c:
12517         * gst/gstmessage.h:
12518         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12519         (gst_real_pad_get_caps_unlocked),
12520         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12521         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12522         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12523         (gst_real_pad_dispose), (gst_real_pad_finalize),
12524         (gst_pad_load_and_link), (gst_pad_save_thyself),
12525         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12526         (gst_pad_check_pull_range), (gst_pad_pull_range),
12527         (gst_pad_template_get_type), (gst_pad_template_class_init),
12528         (gst_pad_template_init), (gst_pad_template_dispose),
12529         (name_is_valid), (gst_static_pad_template_get),
12530         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12531         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12532         (gst_pad_get_element_private), (gst_pad_start_task),
12533         (gst_pad_pause_task), (gst_pad_stop_task),
12534         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12535         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12536         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12537         (gst_ghost_pad_new):
12538         * gst/gstpad.h:
12539         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12540         (gst_query_new_position), (gst_query_set_position),
12541         (gst_query_parse_position), (gst_query_new_convert),
12542         (gst_query_set_convert), (gst_query_parse_convert):
12543         * gst/gstquery.h:
12544         * gst/gstqueryutils.c:
12545         * gst/gstqueryutils.h:
12546         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12547         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12548         (gst_queue_handle_src_query):
12549         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12550         (gst_element_query_position), (gst_element_query_convert),
12551         (intersect_caps_func), (gst_pad_query_position),
12552         (gst_pad_query_convert):
12553         * gst/gstutils.h:
12554         * tools/gst-inspect.c: (print_pad_info):
12555         * tools/gst-xmlinspect.c: (print_element_info):
12556         Remove old query functions. Ported old code.
12557         Added position/convert helper functions to gstutils.
12558         Reordered gstpad.c code, grouping relevant things.
12559         Remove gst_message_new(), always need to speficy a specific
12560         message.
12561
12562
12563 2005-05-09  Andy Wingo  <wingo@pobox.com>
12564
12565         * gst/gstiterator.h: Add some includes.
12566
12567         * gst/gstqueryutils.h: Include more headers.
12568
12569         * gst/gstpad.h:
12570         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12571         some uses of gst_pad_query.
12572
12573         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12574         NULL out parameters.
12575         (gst_query_new_position): New proc, allocates a new position
12576         query.
12577
12578         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12579         gstqueryutils.c to the build.
12580
12581         * gst/gststructure.c (gst_structure_set_valist): Implement with
12582         the generic G_VALUE_COLLECT.
12583         
12584 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12585
12586         * gst/Makefile.am: (gst_headers):
12587         Added gstqueryutils.h to the list of headers to install, that was
12588         a 'nachty' move wingo :)
12589
12590 2005-05-06  Andy Wingo  <wingo@pobox.com>
12591
12592         * gst/gstquery.h
12593         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12594         GstData, init a memchunk.
12595         (standard_definitions): Add a few query types, deprecate a few.
12596         (gst_query_get_type): New proc.
12597         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12598         implementation.
12599         (gst_query_new_application, gst_query_get_structure): New public
12600         procs.
12601
12602         * docs/design/draft-query.txt: Removed LINKS from the query types,
12603         because all the rest can be dispatched to other pads -- seemed
12604         ugly to have a query that couldn't be dispatched. internal_links
12605         is fine as a pad method.
12606
12607         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12608         in gstpad.c, but maintain binary compatibility for the moment.
12609         Will fix before 0.9 is out.
12610
12611         * gst/gstqueryutils.c: 
12612         * gst/gstqueryutils.h: New files, implement 3 methods for each
12613         query type: parse_query, parse_response, and set. Probably need an
12614         allocator as well.
12615
12616         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12617
12618         * gst/elements/gstfilesink.c (gst_filesink_query2):
12619         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12620         query_types, and formats methods.
12621
12622         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12623         (gst_pad_set_query2_function): New functions.
12624         (gst_real_pad_init): Set query2_default as the default query2
12625         function. Basically just dispatches to internally linked pads.
12626
12627         Needs review!
12628         
12629         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12630         without using the atomic operations. Only one thread can possibly
12631         be accessing the data at this point. Changed so as to avoid
12632         gst_atomic operations.
12633
12634 2005-05-06  Wim Taymans  <wim@fluendo.com>
12635
12636         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12637         Also set caps if we use the fallback buffer alloc.
12638
12639 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12640
12641         * docs/gst/Makefile.am:
12642         * docs/gst/gstreamer-docs.sgml:
12643         * docs/gst/gstreamer-sections.txt:
12644         * docs/gst/tmpl/gstatomic.sgml:
12645         * docs/gst/tmpl/gstmemchunk.sgml:
12646         * testsuite/elements/struct_i386.h:
12647         * win32/GStreamer.vcproj:
12648         * win32/Makefile:
12649           Purge GstAtomic stuff from docs and win32 makefiles as well
12650
12651 2005-05-06  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12654         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12655         * gst/gstpad.c: (gst_pad_peer_get_caps):
12656         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12657         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12658         (gst_queue_src_activate), (gst_queue_change_state):
12659         * gst/gstqueue.h:
12660         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12661         (intersect_caps_func):
12662         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12663         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12664         Some fixes for the peer_get_caps() change.
12665
12666 2005-05-06  Wim Taymans  <wim@fluendo.com>
12667
12668         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12669         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12670         (gst_basesink_activate):
12671         Actually do something with error codes returned from the push
12672         functions.
12673
12674 2005-05-06  Wim Taymans  <wim@fluendo.com>
12675
12676         * docs/design/part-element-sink.txt:
12677         * docs/design/part-element-source.txt:
12678         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12679         (gst_basesink_event), (gst_basesink_activate):
12680         * gst/base/gstbasesink.h:
12681         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12682         (gst_basesrc_activate):
12683         * gst/base/gstbasesrc.h:
12684         * gst/gstelement.c: (gst_element_pads_activate):
12685         Some more documentation.
12686         Fixed scheduling decision in _pads_activate().
12687
12688 2005-05-05  Andy Wingo  <wingo@pobox.com>
12689
12690         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12691         the test suite.
12692
12693 2005-05-05  Wim Taymans  <wim@fluendo.com>
12694
12695         * gst/base/Makefile.am:
12696         * gst/base/gstbasesink.h:
12697         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12698         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12699         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12700         (gst_collectpads_class_init), (gst_collectpads_init),
12701         (gst_collectpads_finalize), (gst_collectpads_new),
12702         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12703         (find_pad), (gst_collectpads_remove_pad),
12704         (gst_collectpads_is_active), (gst_collectpads_collect),
12705         (gst_collectpads_collect_range), (gst_collectpads_start),
12706         (gst_collectpads_stop), (gst_collectpads_peek),
12707         (gst_collectpads_pop), (gst_collectpads_available),
12708         (gst_collectpads_read), (gst_collectpads_flush),
12709         (gst_collectpads_chain):
12710         * gst/base/gstcollectpads.h:
12711         * gst/elements/Makefile.am:
12712         * gst/elements/gstelements.c:
12713         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12714         (gst_fakesink_get_times), (gst_fakesink_event),
12715         (gst_fakesink_preroll), (gst_fakesink_render):
12716         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12717         (gst_filesink_init), (gst_filesink_set_location),
12718         (gst_filesink_open_file), (gst_filesink_close_file),
12719         (gst_filesink_pad_query), (gst_filesink_event),
12720         (gst_filesink_render), (gst_filesink_change_state):
12721         * gst/elements/gstfilesink.h:
12722         Added object to help in making collect pad based elements.
12723         Ported filesink.
12724         Make event function in sink baseclass return gboolean.
12725
12726 2005-05-05  Wim Taymans  <wim@fluendo.com>
12727
12728         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12729         (gst_bin_get_by_name):
12730         * gst/gstbuffer.h:
12731         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12732         (gst_clock_finalize):
12733         * gst/gstdata.c: (gst_data_replace):
12734         * gst/gstdata.h:
12735         * gst/gstelement.c: (gst_element_request_pad),
12736         (gst_element_pads_activate):
12737         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12738         (gst_object_unref):
12739         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12740         (gst_pad_set_checkgetrange_function),
12741         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12742         (gst_pad_check_pull_range), (gst_pad_pull_range),
12743         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12744         (gst_pad_pause_task), (gst_pad_stop_task):
12745         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12746         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12747         Fix name lookup in GstBin.
12748         Added _data_replace() function and _buffer_replace()
12749         Use finalize method to clean up clock.
12750         Fix refcounting on request pads.
12751         Fix pad schedule mode error.
12752         Some more object refcounting debug info,
12753
12754
12755 2005-05-04  Andy Wingo <wingo@pobox.com>
12756
12757         * check/Makefile.am:
12758         * docs/gst/tmpl/gstatomic.sgml:
12759         * docs/gst/tmpl/gstplugin.sgml:
12760         * gst/base/gstbasesink.c: (gst_basesink_activate):
12761         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12762         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12763         (gst_basesrc_query), (gst_basesrc_set_property),
12764         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12765         (gst_basesrc_activate):
12766         * gst/base/gstbasesrc.h:
12767         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12768         (gst_base_transform_src_activate):
12769         * gst/elements/gstelements.c:
12770         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12771         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12772         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12773         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12774         (gst_type_find_element_checkgetrange),
12775         (gst_type_find_element_activate):
12776         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12777         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12778         (gst_caps_load_thyself):
12779         * gst/gstelement.c: (gst_element_pads_activate),
12780         (gst_element_save_thyself), (gst_element_restore_thyself):
12781         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12782         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12783         * gst/gstpad.h:
12784         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12785         (gst_xml_parse_file), (gst_xml_parse_memory),
12786         (gst_xml_get_element), (gst_xml_make_element):
12787         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12788         (_file_index_id_save_xml), (gst_file_index_commit):
12789         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12790         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12791         (load_paths):
12792         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12793         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12794         * tools/gst-complete.c: (main):
12795         * tools/gst-compprep.c: (main):
12796         * tools/gst-inspect.c: (print_element_properties_info):
12797         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12798         * tools/gst-xmlinspect.c: (print_element_properties):
12799         GCC 4 fixen.
12800         
12801 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12802
12803         * gst/gstplugin.c: (gst_plugin_check_module),
12804         (gst_plugin_check_file), (gst_plugin_load_file):
12805             apply patch from #172526 to make register work on MacOSX
12806
12807 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12808
12809         * docs/gst/tmpl/gstconfig.sgml:
12810         * gst/gstconfig.h.in:
12811           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12812         * testsuite/debug/printf_extension.c: (main):
12813           Do not use GST_PTR_FORMAT on pointers to types with
12814           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12815         * testsuite/elements/property.h:
12816           use correct printf format
12817
12818 2005-05-02  Wim Taymans  <wim@fluendo.com>
12819
12820         * docs/design/draft-push-pull.txt:
12821         * docs/design/draft-query.txt:
12822         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12823         (gst_basesrc_start):
12824         Added draft for new query API.
12825         Added draft for better selecting scheduling methods.
12826         Make basesrc ignore length if the subclass does not support
12827         it.
12828
12829 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12830
12831         * gst/Makefile.am:
12832           possible fixes for automake-1.5 - _LIBADD is reserved
12833
12834 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12835
12836         * docs/faq/Makefile.am:
12837         * docs/manual/Makefile.am:
12838         * docs/manuals.mak:
12839         * docs/pwg/Makefile.am:
12840         * gst/Makefile.am:
12841           possible fixes for automake-1.5
12842
12843 2005-04-28  Wim Taymans  <wim@fluendo.com>
12844
12845         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12846         (gst_basesink_pad_getcaps), (gst_basesink_init),
12847         (gst_basesink_do_sync):
12848         * gst/gstclock.c: (gst_clock_entry_new):
12849         * gst/gstevent.c: (gst_event_discont_get_value):
12850         * gst/gstpipeline.c: (pipeline_bus_handler),
12851         (gst_pipeline_change_state):
12852         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12853         Better debugging of clocking info.
12854         Allow NULL values when getting discont values.
12855
12856 2005-04-27  Wim Taymans  <wim@fluendo.com>
12857
12858         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12859         * check/gst/gstpad.c: (gst_pad_suite):
12860         Increase timeout for checks.
12861
12862 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12863
12864         * check/Makefile.am:
12865           fix the broken rule for cleanup.  Apparently this rule is
12866           only needed on FC2, so maybe this warrants further autotool
12867           inspection.
12868
12869 2005-04-26  Wim Taymans  <wim@fluendo.com>
12870
12871         * gst/gsttrashstack.h:
12872         Ooohh. a nasty one! After having a failed pop() from the stack,
12873         it's possible that the stack is empty. In that case, don't
12874         follow the NULL pointer.
12875
12876 2005-04-25  Wim Taymans  <wim@fluendo.com>
12877
12878         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12879         (gst_pad_set_checkgetrange_function),
12880         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12881         (gst_pad_check_pull_range), (gst_pad_pull_range),
12882         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12883         (gst_pad_pause_task), (gst_pad_stop_task):
12884         * gst/gstplugin.c: (gst_plugin_load):
12885         * gst/gstplugin.h:
12886         Remove gst_library_load as it does more harm than good with
12887         the new g_module flags.
12888         Revert bogus caps template check in pad linking, pad caps
12889         are important when linking not the template, which is more
12890         general than the current caps.
12891
12892 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12893
12894         * gst/autoplug/.cvsignore:
12895         * gst/autoplug/Makefile.am:
12896         * gst/autoplug/gstsearchfuncs.c:
12897         * gst/autoplug/gstsearchfuncs.h:
12898         * gst/autoplug/gstspider.c:
12899         * gst/autoplug/gstspider.h:
12900         * gst/autoplug/gstspideridentity.c:
12901         * gst/autoplug/gstspideridentity.h:
12902         * gst/autoplug/spidertest.c:
12903           Die, spider, die.
12904
12905 2005-04-25  Wim Taymans  <wim@fluendo.com>
12906
12907         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12908         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12909         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12910         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12911         * gst/gstpad.h:
12912         Added stubs for unimplemented functions. 
12913
12914 2005-04-24  David Schleef  <ds@schleef.org>
12915
12916         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12917         please fix.
12918
12919 2005-04-24  David Schleef  <ds@schleef.org>
12920
12921         Convert everything from GstAtomicInt to g_atomic_int_*, and
12922         remove gstatomic.
12923         * gst/Makefile.am:
12924         * gst/gstatomic.c:
12925         * gst/gstatomic.h:
12926         * gst/gstatomic_impl.h:
12927         * gst/gstbuffer.c:
12928         * gst/gstcaps.c:
12929         * gst/gstcaps.h:
12930         * gst/gstclock.c:
12931         * gst/gstclock.h:
12932         * gst/gstdata.c:
12933         * gst/gstdata.h:
12934         * gst/gstdata_private.h:
12935         * gst/gstevent.c:
12936         * gst/gstinfo.c:
12937         * gst/gstinfo.h:
12938         * gst/gstmessage.c:
12939         * gst/gstobject.c:
12940         * gst/gstobject.h:
12941         * gst/gststructure.c:
12942         * gst/gststructure.h:
12943         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12944         * gst/gstutils.h:
12945
12946 2005-04-24  David Schleef  <ds@schleef.org>
12947
12948         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12949         make the regressions tests work.  Remove some code that is no
12950         longer true.
12951         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12952         Disable warning for pads without templates.
12953
12954 2005-04-24  David Schleef  <ds@schleef.org>
12955
12956         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12957         functions that handle filtered links.
12958         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12959         removed functions.
12960         * gst/gstutils.c: Fix/remove utility functions that handle
12961         filtered caps.
12962         * gst/gstutils.h:
12963         * gst/gstvalue.c: Add serialization/deserialization of caps
12964         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12965         requires fixing so that the filter caps notation creates
12966         a capsfilter element and sets the filter_caps property.  I
12967         think everyone probably wants to keep the shorthand notation.
12968         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12969         * docs/gst/tmpl/gstpad.sgml:
12970
12971         * gst/elements/gstelements.c: Register capsfilter element.
12972         * gst/Makefile.am: fix spacing
12973         * docs/random/ds/0.9-suggested-changes: random
12974
12975 2005-04-23  David Schleef  <ds@schleef.org>
12976
12977         * gst/elements/Makefile.am:
12978         * gst/elements/gstcapsfilter.c: New element that acts like an
12979         identity, but filters caps.  Will eventually replace filtered
12980         caps in pad linking.
12981         * gst/gstutils.c: (gst_element_create_all_pads): New function
12982         to create all the ALWAYS pads that are registered with an
12983         element class.  This functionality should eventually be
12984         merged in with GstElement initialization.
12985         * gst/gstutils.h:
12986         * testsuite/trigger/README: part of trigger test code that should
12987         have been checked in a long time ago.
12988
12989 2005-04-23  David Schleef  <ds@schleef.org>
12990
12991         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12992         needed with new versions of libtool (nobody will confirm this),
12993         and hard to carry around.
12994         * gst/autoplug/Makefile.am:
12995         * gst/base/Makefile.am:
12996         * gst/elements/Makefile.am:
12997         * gst/indexers/Makefile.am:
12998         * gst/schedulers/Makefile.am:
12999         * libs/gst/bytestream/Makefile.am:
13000         * libs/gst/control/Makefile.am:
13001         * libs/gst/dataprotocol/Makefile.am:
13002         * libs/gst/getbits/Makefile.am:
13003
13004 2005-04-21  Wim Taymans  <wim@fluendo.com>
13005
13006         * docs/design/draft-push-pull.txt:
13007         * docs/design/part-MT-refcounting.txt:
13008         * docs/design/part-TODO.txt:
13009         * docs/design/part-caps.txt:
13010         * docs/design/part-events.txt:
13011         * docs/design/part-gstbus.txt:
13012         * docs/design/part-gstpipeline.txt:
13013         * docs/design/part-messages.txt:
13014         * docs/design/part-push-pull.txt:
13015         * docs/design/part-query.txt:
13016         Some more docs.
13017
13018 2005-04-21  Wim Taymans  <wim@fluendo.com>
13019
13020         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13021         (gst_message_new), (gst_message_new_error),
13022         (gst_message_new_warning), (gst_message_new_tag),
13023         (gst_message_new_state_changed), (gst_message_new_application),
13024         (gst_message_get_structure):
13025         * gst/gstmessage.h:
13026         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13027         (gst_structure_copy_conditional):
13028         Use parent refcount in GstMessage to ensure GstStructure
13029         consistency.
13030         Cleaned up headers a bit.
13031         
13032
13033 2005-04-20  Wim Taymans  <wim@fluendo.com>
13034
13035         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13036         (gst_basesink_pad_getcaps), (gst_basesink_init),
13037         (gst_basesink_chain_unlocked):
13038         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13039         (gst_type_find_helper):
13040         * gst/elements/gsttypefindelement.c:
13041         (gst_type_find_element_have_type), (gst_type_find_element_init),
13042         (stop_typefinding), (gst_type_find_element_handle_event),
13043         (find_suggest), (gst_type_find_element_chain),
13044         (gst_type_find_element_checkgetrange),
13045         (gst_type_find_element_getrange), (do_typefind),
13046         (gst_type_find_element_activate):
13047         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13048         (gst_buffer_default_free), (gst_buffer_default_copy),
13049         (gst_buffer_set_caps):
13050         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13051         (gst_caps_replace):
13052         * gst/gstmessage.c: (gst_message_new),
13053         (gst_message_new_state_changed):
13054         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13055         (gst_pad_set_checkgetrange_function),
13056         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13057         (gst_pad_set_caps), (gst_pad_check_pull_range),
13058         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13059         * gst/gstpad.h:
13060         * gst/gsttypefind.c: (gst_type_find_register):
13061         Make gst_caps_replace() work like other _replace() functions.
13062         Use _caps_replace() where possible.
13063         Make sure _message_new() initialises its field.
13064         Add gst_static_pad_template_get_caps()
13065
13066
13067 2005-04-18  Andy Wingo  <wingo@pobox.com>
13068
13069         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13070         on the peer, not the pad. I think that was a typo. Pass an extra
13071         arg to see if random access is possible. Activate the pads as
13072         PULL_RANGE if possible.
13073
13074         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13075
13076         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13077         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13078         to PROP_....
13079
13080 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13081
13082         * docs/faq/using.xml:
13083           Add note on gstreamer-properties (#154996).
13084
13085 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13086
13087         * docs/random/bbb/optional-properties:
13088           Some analysis on optional properties.
13089
13090 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13091
13092         * docs/gst/tmpl/gstelementfactory.sgml:
13093         * gst/gstelement.h:
13094         * gst/gstelementfactory.c: (gst_element_factory_init),
13095         (gst_element_factory_cleanup), (gst_element_register),
13096         (__gst_element_factory_add_static_pad_template),
13097         (gst_element_factory_get_static_pad_templates),
13098         (gst_element_factory_can_src_caps),
13099         (gst_element_factory_can_sink_caps):
13100         * gst/registries/Makefile.am:
13101         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13102         (gst_xml_registry_class_init), (gst_xml_registry_init),
13103         (gst_xml_registry_new), (gst_xml_registry_set_property),
13104         (gst_xml_registry_get_property), (get_time), (make_dir),
13105         (gst_xml_registry_get_perms_func),
13106         (plugin_times_older_than_recurse), (plugin_times_older_than),
13107         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13108         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13109         (add_to_char_array), (read_string), (read_uint), (read_enum),
13110         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13111         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13112         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13113         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13114         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13115         (gst_xml_registry_rebuild):
13116         * gst/registries/gstlibxmlregistry.h:
13117         * tools/gst-compprep.c: (main):
13118         * tools/gst-inspect.c: (print_pad_templates_info):
13119         * tools/gst-xmlinspect.c: (print_element_info):
13120           Use libxml2 for registry parsing, use staticpadtemplates in
13121           elementfactories. Makes gst_init() +/- 10x faster.
13122
13123 2005-04-12  Wim Taymans  <wim@fluendo.com>
13124
13125         * gst/base/Makefile.am:
13126         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13127         (gst_basesink_pad_getcaps), (gst_basesink_init),
13128         (gst_basesink_event), (gst_basesink_change_state):
13129         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13130         (gst_basesrc_init), (gst_basesrc_query),
13131         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13132         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13133         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13134         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13135         (gst_basesrc_stop), (gst_basesrc_activate),
13136         (gst_basesrc_change_state):
13137         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13138         (helper_find_suggest), (gst_type_find_helper):
13139         * gst/base/gsttypefindhelper.h:
13140         * gst/elements/Makefile.am:
13141         * gst/elements/gstelements.c:
13142         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13143         (gst_fakesink_get_times), (gst_fakesink_event),
13144         (gst_fakesink_preroll), (gst_fakesink_render):
13145         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13146         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13147         (gst_fakesrc_get_property), (gst_fakesrc_create),
13148         (gst_fakesrc_start), (gst_fakesrc_stop):
13149         * gst/elements/gstfakesrc.h:
13150         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13151         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13152         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13153         (gst_filesrc_create_read), (gst_filesrc_create),
13154         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13155         (gst_filesrc_start):
13156         * gst/elements/gsttypefindelement.c:
13157         (gst_type_find_element_have_type), (gst_type_find_element_init),
13158         (start_typefinding), (stop_typefinding), (push_buffer_store),
13159         (gst_type_find_element_handle_event),
13160         (gst_type_find_element_chain),
13161         (gst_type_find_element_checkgetrange),
13162         (gst_type_find_element_getrange), (do_typefind),
13163         (gst_type_find_element_activate),
13164         (gst_type_find_element_change_state):
13165         * gst/elements/gsttypefindelement.h:
13166         * gst/gstpipeline.c: (pipeline_bus_handler):
13167         Added typefind helper.
13168         Small preroll fix in the base sink.
13169         Disable typefind code in basesrc.
13170         Crude port of typefindelement.
13171         Fakesrc cleanups.
13172
13173
13174 2005-04-11  Wim Taymans  <wim@fluendo.com>
13175
13176         * check/gst/gstbus.c: (gstbus_suite):
13177         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13178         * check/gstcheck.h:
13179           Fix up the timeout so that the test does not fail.
13180
13181 2005-04-06  Wim Taymans  <wim@fluendo.com>
13182
13183         * gst/base/README:
13184         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13185         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13186         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13187         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13188         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13189         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13190         (gst_basesrc_stop), (gst_basesrc_activate),
13191         (gst_basesrc_change_state), (basesrc_find_peek),
13192         (basesrc_find_suggest), (gst_basesrc_type_find):
13193         * gst/base/gstbasesrc.h:
13194         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13195         (gst_filesrc_class_init), (gst_filesrc_init),
13196         (gst_filesrc_finalize), (gst_filesrc_set_location),
13197         (gst_filesrc_set_property), (gst_filesrc_get_property),
13198         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13199         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13200         (gst_filesrc_create_read), (gst_filesrc_create),
13201         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13202         * gst/elements/gstfilesrc.h:
13203         * gst/gstelement.c: (gst_element_get_state_func),
13204         (gst_element_lost_state), (gst_element_pads_activate):
13205         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13206         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13207         (gst_pad_pull_range):
13208         * gst/gstpad.h:
13209         More work on the generic source base class, implement seeking,
13210         query.
13211         Make filesrc extend the base source class.
13212         Added gst_pad_set_checkgetrange_function to GstPad.
13213
13214 2005-04-06  Andy Wingo  <wingo@pobox.com>
13215
13216         * pkgconfig/gstreamer-base.pc.in:
13217         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13218
13219         * pkgconfig/Makefile.am:
13220         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13221
13222 2005-04-04  Wim Taymans  <wim@fluendo.com>
13223
13224         * gst/base/Makefile.am:
13225         * gst/base/README:
13226         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13227         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13228         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13229         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13230         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13231         (gst_basesrc_base_init), (gst_basesrc_class_init),
13232         (gst_basesrc_init), (gst_basesrc_get_formats),
13233         (gst_basesrc_get_query_types), (gst_basesrc_query),
13234         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13235         (gst_basesrc_set_property), (gst_basesrc_get_property),
13236         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13237         (gst_basesrc_loop), (gst_basesrc_activate),
13238         (gst_basesrc_change_state):
13239         * gst/base/gstbasesrc.h:
13240         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13241         (gst_fakesrc_class_init), (gst_fakesrc_init),
13242         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13243         (gst_fakesrc_get_property), (gst_fakesrc_create):
13244         * gst/elements/gstfakesrc.h:
13245         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13246         (gst_filesrc_open_file), (gst_filesrc_loop),
13247         (gst_filesrc_activate), (filesrc_find_peek),
13248         (gst_filesrc_type_find):
13249         Made base source class, make fakesrc extend it.
13250         Add comments to basesink class.
13251         Some filesrc cleanup.
13252
13253 2005-03-31  David Schleef  <ds@schleef.org>
13254
13255         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13256         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13257         expected to link against libgstreamer.
13258         * gst/base/Makefile.am: link against libgstreamer
13259         * gst/elements/Makefile.am: same
13260
13261 2005-03-31  Andy Wingo  <wingo@pobox.com>
13262
13263         * tests/instantiate/Makefile.am:
13264         * tests/instantiate/caps.c: Add test to test speed of caps copy
13265         and free.
13266
13267         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13268         GMemChunk to be fair.
13269
13270         * gst/gsttrashstack.h: Remove warning about using the fallback
13271         trash stack implementation, it's still faster than malloc.
13272
13273 2005-03-30  Andy Wingo  <wingo@pobox.com>
13274
13275         * tests/complexity.c: Add a copyright.
13276
13277 2005-03-31  Wim Taymans  <wim@fluendo.com>
13278
13279         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13280         (gst_base_transform_class_init), (gst_base_transform_init),
13281         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13282         (gst_base_transform_get_property),
13283         (gst_base_transform_sink_activate),
13284         (gst_base_transform_src_activate),
13285         (gst_base_transform_change_state):
13286         * gst/base/gstbasetransform.h:
13287         * gst/elements/gstidentity.c: (gst_identity_class_init),
13288         (gst_identity_event), (gst_identity_check_perfect),
13289         (gst_identity_transform), (gst_identity_start),
13290         (gst_identity_stop):
13291         Added start/stop methods to transform base class so subclasses 
13292         don't need to deal with state changes even.
13293
13294 2005-03-31  Wim Taymans  <wim@fluendo.com>
13295
13296         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
13297         (gst_event_new_discontinuous), (gst_event_discont_get_value):
13298         * gst/gstevent.h:
13299         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13300         (gst_pad_pull_range):
13301         Added rate to the discont event to prepare for variable speed
13302         and reverse playback.
13303
13304 2005-03-29  David Schleef  <ds@schleef.org>
13305
13306         * configure.ac:
13307         * testsuite/trigger/Makefile.am:
13308         * testsuite/trigger/trigger.c: A little example program to show
13309         how trigger-based elements can work.
13310
13311 2005-03-29  Wim Taymans  <wim@fluendo.com>
13312
13313         * gst/base/Makefile.am:
13314         * gst/base/README:
13315         * gst/base/gstbasesink.c: (gst_basesink_get_type),
13316         (gst_basesink_base_init), (gst_basesink_class_init),
13317         (gst_basesink_pad_getcaps), (gst_basesink_init),
13318         (gst_basesink_activate), (gst_basesink_change_state):
13319         * gst/base/gstbasesink.h:
13320         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
13321         (gst_base_transform_base_init), (gst_base_transform_finalize),
13322         (gst_base_transform_class_init), (gst_base_transform_init),
13323         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
13324         (gst_base_transform_event), (gst_base_transform_getrange),
13325         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
13326         (gst_base_transform_set_property),
13327         (gst_base_transform_get_property),
13328         (gst_base_transform_sink_activate),
13329         (gst_base_transform_src_activate),
13330         (gst_base_transform_change_state):
13331         * gst/base/gstbasetransform.h:
13332         * gst/elements/gstidentity.c: (gst_identity_finalize),
13333         (gst_identity_class_init), (gst_identity_init),
13334         (gst_identity_event), (gst_identity_check_perfect),
13335         (gst_identity_transform), (gst_identity_set_property),
13336         (gst_identity_get_property), (gst_identity_change_state):
13337         * gst/elements/gstidentity.h:
13338         * gst/gstelement.c: (gst_element_get_state_func),
13339         (gst_element_lost_state), (gst_element_pads_activate):
13340         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13341         (gst_pad_check_pull_range), (gst_pad_pull_range):
13342         * gst/gstpad.h:
13343         Simplify pad activation.
13344         Added function to check if pull_range can be performed.
13345         Error out when pulling inactive or flushing pads.
13346         Removed const from refcounted types as it does not make sense.
13347         Simplify pad templates in basesink
13348         Added base class for simple 1-to-1 transforms.
13349         Make identity subclass the base transform.
13350
13351 2005-03-29  Andy Wingo  <wingo@pobox.com>
13352
13353         * docs/libs/gstreamer-libs-overrides.txt: 
13354         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
13355         really don't understand what's going on, but like whatever. I want
13356         green buildbot!
13357
13358         * docs/gst/Makefile.am:
13359         * docs/libs/Makefile.am: Dist the overrides files.
13360
13361         * check/Makefile.am (clean-local): Remove .libs directories.
13362
13363         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
13364         elements to EXTRA_DIST, so po/ files are happy.
13365
13366         * po/POTFILES.in: Er, remove it here.
13367
13368         * po/POTFILES: Remove gstspider.c.
13369
13370         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
13371
13372         * docs/libs/gstreamer-libs-docs.sgml: 
13373         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
13374         bytestream.
13375
13376         * tests/complexity.c (main): Set the length of the preroll queue
13377         on the sinks to prevent a lockup.
13378
13379         * libs/gst/dataprotocol/Makefile.am: 
13380         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
13381         the same as the one in check/gst-libs/gdp.c.
13382
13383         * po/, docs/gst/: Commit automatic changes to docs and po files.
13384
13385         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
13386         the versioned libgstbase.
13387
13388         * check/Makefile.am: Depend on an unversioned gst-register, seems
13389         to make autoconf happier.
13390
13391         * gst/base/Makefile.am: Make libgstbase a versioned lib.
13392
13393 2005-03-28  Wim Taymans  <wim@fluendo.com>
13394
13395         * configure.ac:
13396         * docs/design/part-gstelement.txt:
13397         * docs/design/part-negotiation.txt:
13398         * docs/design/part-preroll.txt:
13399         * docs/design/part-scheduling.txt:
13400         * docs/design/part-states.txt:
13401         * gst/Makefile.am:
13402         * gst/base/Makefile.am:
13403         * gst/base/README:
13404         * gst/base/gstbasesink.c: (gst_basesink_get_template),
13405         (gst_basesink_base_init), (gst_basesink_class_init),
13406         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13407         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13408         (gst_basesink_set_pad_functions),
13409         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
13410         (gst_basesink_set_property), (gst_basesink_get_property),
13411         (gst_base_sink_get_template), (gst_base_sink_get_caps),
13412         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
13413         (gst_basesink_preroll_queue_push),
13414         (gst_basesink_preroll_queue_empty),
13415         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
13416         (gst_basesink_event), (gst_basesink_get_times),
13417         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
13418         (gst_basesink_chain_unlocked), (gst_basesink_chain),
13419         (gst_basesink_loop), (gst_basesink_activate),
13420         (gst_basesink_change_state):
13421         * gst/base/gstbasesink.h:
13422         * gst/elements/Makefile.am:
13423         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
13424         (gst_fakesink_class_init), (gst_fakesink_init),
13425         (gst_fakesink_set_property), (gst_fakesink_get_property),
13426         (gst_fakesink_get_times), (gst_fakesink_event),
13427         (gst_fakesink_preroll), (gst_fakesink_render),
13428         (gst_fakesink_change_state):
13429         * gst/elements/gstfakesink.h:
13430         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13431         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
13432         * gst/gstelement.c: (gst_element_add_pad),
13433         (gst_element_get_state_func), (gst_element_abort_state),
13434         (gst_element_commit_state), (gst_element_lost_state),
13435         (gst_element_set_state), (gst_element_pads_activate):
13436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
13437         * gst/gstpipeline.c: (gst_pipeline_send_event),
13438         (gst_pipeline_change_state):
13439         Added state change code.
13440         Added/updated docs.
13441         Added sink base class, make fakesink extend the base class.
13442         Small cleanups in GstPipeline.
13443
13444 2005-03-26  David Schleef  <ds@schleef.org>
13445
13446         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
13447         is broken and should be implemented in a different library.
13448         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
13449         * gst/gst.h: remove gstcpu.h
13450         * gst/gstcpu.c: remove
13451         * gst/gstcpu.h: remove
13452         * gst/Makefile.am.future: Remove this file.  It's ancient.
13453
13454 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13455
13456         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
13457         (gst_bin_send_event):
13458           Add default event/set_manager handlers. The set_manager handler
13459           takes care that the manager is distributed over kids that were
13460           already in the bin before the manager was set. The event handler
13461           is a utility virtual function that sends the event over all sinks,
13462           so that gst_element_send_event (bin, event); has the expected
13463           behaviour.
13464         * gst/gstpad.c: (gst_pad_event_default):
13465           Re-install default event handling for discontinuities, so that
13466           seeking works without requiring hacks in applications or extra
13467           code in sinks.
13468         * gst/gstpipeline.c: (gst_pipeline_class_init),
13469         (gst_pipeline_send_event):
13470           Half hack, half utility: set a pipeline to PAUSED for seek events,
13471           since that is the only way we can guarantee a/v sync. Means that
13472           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13473           and it "just works".
13474
13475 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13476
13477         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13478           Lock/unlock mismatch.
13479
13480 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13481
13482         * docs/faq/gst-uninstalled:
13483           add gst-plugins-base
13484         * docs/gst/Makefile.am:
13485           don't error out until docs are fixed
13486         * docs/gst/gstreamer.types:
13487           remove thread
13488
13489 2005-03-22  Wim Taymans  <wim@fluendo.com>
13490
13491         * check/Makefile.am:
13492         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13493         * gst/gststructure.c: (gst_structure_set_valist),
13494         (gst_structure_copy_conditional):
13495         Activated more tests.
13496         Added message test.
13497         Added G_TYPE_POINTER to GstStructure.
13498         
13499
13500 2005-03-22  Wim Taymans  <wim@fluendo.com>
13501
13502         * docs/design/part-TODO.txt:
13503         * docs/design/part-events.txt:
13504         * docs/design/part-gstbin.txt:
13505         * docs/design/part-gstbus.txt:
13506         * docs/design/part-gstpipeline.txt:
13507         * docs/design/part-messages.txt:
13508         * gst/gstbus.c:
13509         * gst/gstmessage.c:
13510         Docs updates
13511
13512 2005-03-21  Wim Taymans  <wim@fluendo.com>
13513
13514         * gst/gstbus.c: (gst_bus_post):
13515         Fix copy-and-paste error.
13516
13517 2005-03-21  Wim Taymans  <wim@fluendo.com>
13518
13519         * check/Makefile.am:
13520         * gst/Makefile.am:
13521         * gst/elements/Makefile.am:
13522         * gst/elements/gstelements.c:
13523         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13524         (gst_fakesink_event), (gst_fakesink_chain):
13525         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13526         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13527         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13528         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13529         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13530         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13531         (gst_fakesrc_loop), (gst_fakesrc_activate),
13532         (gst_fakesrc_change_state):
13533         * gst/elements/gstfakesrc.h:
13534         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13535         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13536         (gst_filesrc_open_file), (gst_filesrc_loop),
13537         (gst_filesrc_activate), (gst_filesrc_change_state),
13538         (filesrc_find_peek), (filesrc_find_suggest),
13539         (gst_filesrc_type_find):
13540         * gst/elements/gstidentity.c: (gst_identity_finalize),
13541         (gst_identity_class_init), (gst_identity_init),
13542         (gst_identity_proxy_getcaps), (identity_queue_push),
13543         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13544         (gst_identity_getrange), (gst_identity_chain),
13545         (gst_identity_sink_loop), (gst_identity_src_loop),
13546         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13547         (gst_identity_set_property), (gst_identity_get_property),
13548         (gst_identity_change_state):
13549         * gst/elements/gstidentity.h:
13550         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13551         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13552         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13553         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13554         (gst_tee_sink_activate):
13555         * gst/elements/gsttee.h:
13556         * gst/gst.c: (gst_register_core_elements), (init_post):
13557         * gst/gst.h:
13558         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13559         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13560         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13561         (gst_bin_change_state):
13562         * gst/gstbin.h:
13563         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13564         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13565         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13566         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13567         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13568         (bus_watch_callback), (bus_watch_destroy),
13569         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13570         (poll_timeout), (gst_bus_poll):
13571         * gst/gstbus.h:
13572         * gst/gstcaps.h:
13573         * gst/gstdata.h:
13574         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13575         (gst_element_post_message), (gst_element_message_full),
13576         (gst_element_get_state_func), (gst_element_get_state),
13577         (gst_element_abort_state), (gst_element_commit_state),
13578         (gst_element_lost_state), (gst_element_set_state),
13579         (gst_element_pads_activate), (gst_element_change_state),
13580         (gst_element_dispose), (gst_element_set_manager_func),
13581         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13582         (gst_element_set_manager), (gst_element_get_manager),
13583         (gst_element_set_bus), (gst_element_get_bus),
13584         (gst_element_set_scheduler), (gst_element_get_scheduler):
13585         * gst/gstelement.h:
13586         * gst/gstevent.c: (gst_event_new_segment_seek),
13587         (gst_event_new_flush):
13588         * gst/gstevent.h:
13589         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13590         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13591         (gst_message_new_eos), (gst_message_new_error),
13592         (gst_message_new_warning), (gst_message_new_tag),
13593         (gst_message_new_state_changed), (gst_message_new_application),
13594         (gst_message_get_structure), (gst_message_parse_tag),
13595         (gst_message_parse_state_changed), (gst_message_parse_error),
13596         (gst_message_parse_warning):
13597         * gst/gstmessage.h:
13598         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13599         (gst_real_pad_set_property), (gst_pad_set_active),
13600         (gst_pad_is_active), (gst_pad_set_blocked_async),
13601         (gst_pad_set_blocked), (gst_pad_is_blocked),
13602         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13603         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13604         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13605         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13606         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13607         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13608         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13609         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13610         (gst_pad_set_caps), (gst_pad_configure_sink),
13611         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13612         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13613         (gst_real_pad_dispose), (gst_real_pad_finalize),
13614         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13615         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13616         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13617         * gst/gstpad.h:
13618         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13619         (pipeline_bus_handler), (gst_pipeline_change_state),
13620         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13621         * gst/gstpipeline.h:
13622         * gst/gstprobe.h:
13623         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13624         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13625         (gst_queue_link_src), (gst_queue_bufferalloc),
13626         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13627         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13628         (gst_queue_loop), (gst_queue_handle_src_event),
13629         (gst_queue_handle_src_query), (gst_queue_src_activate),
13630         (gst_queue_change_state):
13631         * gst/gstqueue.h:
13632         * gst/gstscheduler.c: (gst_scheduler_init),
13633         (gst_scheduler_dispose), (gst_scheduler_create_task),
13634         (gst_scheduler_factory_create):
13635         * gst/gstscheduler.h:
13636         * gst/gststructure.c: (gst_structure_get_type),
13637         (gst_structure_copy_conditional):
13638         * gst/gststructure.h:
13639         * gst/gsttaginterface.h:
13640         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13641         (gst_task_init), (gst_task_dispose), (gst_task_create),
13642         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13643         (gst_task_pause):
13644         * gst/gsttask.h:
13645         * gst/gstthread.c:
13646         * gst/gstthread.h:
13647         * gst/gsttypes.h:
13648         * gst/schedulers/Makefile.am:
13649         * gst/schedulers/cothreads_compat.h:
13650         * gst/schedulers/entryscheduler.c:
13651         * gst/schedulers/faircothreads.c:
13652         * gst/schedulers/faircothreads.h:
13653         * gst/schedulers/fairscheduler.c:
13654         * gst/schedulers/gstbasicscheduler.c:
13655         * gst/schedulers/gstoptimalscheduler.c:
13656         * gst/schedulers/gthread-cothreads.h:
13657         * gst/schedulers/threadscheduler.c:
13658         (gst_thread_scheduler_task_get_type),
13659         (gst_thread_scheduler_task_class_init),
13660         (gst_thread_scheduler_task_init),
13661         (gst_thread_scheduler_task_start),
13662         (gst_thread_scheduler_task_stop),
13663         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13664         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13665         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13666         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13667         (plugin_init):
13668         * libs/gst/Makefile.am:
13669         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13670         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13671         (gst_file_pad_parent_set):
13672         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13673         (gst_dp_event_from_packet):
13674         * tests/complexity.c: (main):
13675         * tests/mass_elements.c: (main):
13676         * testsuite/states/locked.c: (message_received), (main):
13677         * testsuite/states/parent.c: (main):
13678         * tools/gst-inspect.c: (print_element_flag_info),
13679         (print_implementation_info), (print_pad_info):
13680         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13681         (main):
13682         * tools/gst-md5sum.c: (event_loop), (main):
13683         * tools/gst-typefind.c: (main):
13684         * tools/gst-xmlinspect.c: (print_element_info):
13685         Next big merge.
13686         Added GstBus for mainloop integration.
13687         Added GstMessage for sending notifications on the bus.
13688         Added GstTask as an abstraction for pipeline entry points.
13689         Removed GstThread.
13690         Removed Schedulers.
13691         Simplified GstQueue for multithreaded core.
13692         Made _link threadsafe, removed old capsnego.
13693         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13694         Added pad blocking functions.
13695         Reworked scheduling functions in GstPad to prepare for
13696         scheduling updates soon.
13697         Moved events out of data stream.
13698         Simplified GstEvent types.
13699         Added return values to push/pull.
13700         Removed clocking from GstElement.
13701         Added prototypes for state change function for next merge.
13702         Removed iterate from bins and state change management.
13703         Fixed some elements, disabled others for now.
13704         Fixed -inspect and -launch.
13705         Added check for GstBus.
13706
13707 2005-03-10  Wim Taymans  <wim@fluendo.com>
13708
13709         * docs/design/part-MT-refcounting.txt:
13710         * docs/design/part-clocks.txt:
13711         * docs/design/part-gstelement.txt:
13712         * docs/design/part-gstobject.txt:
13713         * docs/design/part-standards.txt:
13714         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13715         (gst_bin_remove_func), (gst_bin_remove):
13716         * gst/gstbin.h:
13717         * gst/gstbuffer.c:
13718         * gst/gstcaps.h:
13719         * testsuite/clock/clock1.c: (main):
13720         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13721         (main):
13722         * testsuite/dlopen/loadgst.c: (do_test):
13723         * testsuite/refcounting/bin.c: (add_remove_test1),
13724         (add_remove_test2), (main):
13725         * testsuite/refcounting/element.c: (main):
13726         * testsuite/refcounting/element_pad.c: (main):
13727         * testsuite/refcounting/pad.c: (main):
13728         * tools/gst-launch.c: (sigint_handler_sighandler):
13729         * tools/gst-typefind.c: (main):
13730         Doc updates.
13731         Added doc about clock.
13732         removed gst_bin_iterate_recurse_up(), marked methods
13733         for removal.
13734         Fix more testsuites.
13735
13736 2005-03-09  Wim Taymans  <wim@fluendo.com>
13737
13738         * gst/gstpad.c: (gst_pad_get_direction),
13739         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13740         (gst_pad_collect_valist):
13741         * testsuite/bins/interface.c: (main):
13742         * testsuite/caps/audioscale.c: (test_caps):
13743         * testsuite/caps/caps.c: (test1), (test2), (test3):
13744         * testsuite/caps/deserialize.c: (main):
13745         * testsuite/caps/enumcaps.c: (main):
13746         * testsuite/caps/filtercaps.c: (main):
13747         * testsuite/caps/intersect2.c: (main):
13748         * testsuite/caps/random.c: (main):
13749         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13750         * testsuite/caps/sets.c: (check_caps):
13751         * testsuite/caps/simplify.c: (check_caps), (main):
13752         * testsuite/caps/subtract.c: (check_caps):
13753         Fix _pad_get_direction wrt ghostpads.
13754         Fix caps testsuite.
13755
13756 2005-03-09  Wim Taymans  <wim@fluendo.com>
13757
13758         * check/Makefile.am:
13759         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13760         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13761         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13762         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13763         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13764         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13765         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13766         (bin_element_is_sink), (gst_bin_iterate_sinks),
13767         (gst_bin_iterate_all_by_interface):
13768         * gst/gstbin.h:
13769         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13770         (gst_element_change_state), (gst_element_dispose),
13771         (gst_element_finalize), (gst_element_set_loop_function):
13772         * gst/gstelement.h:
13773         * gst/gstiterator.c: (find_custom_fold_func):
13774         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13775         (gst_pad_collectv), (gst_pad_collect_valist),
13776         (gst_pad_template_new):
13777         * gst/gstpipeline.c: (gst_pipeline_class_init),
13778         (gst_pipeline_dispose), (gst_pipeline_set_property),
13779         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13780         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13781         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13782         * gst/gstutils.h:
13783         * gst/schedulers/entryscheduler.c:
13784         * gst/schedulers/gstbasicscheduler.c:
13785         (gst_basic_scheduler_cothreaded_chain),
13786         (gst_basic_scheduler_chain_add_element):
13787         * testsuite/bins/interface.c: (main):
13788         Added GstBin test.
13789         Added GstSystemClock test.
13790         Implemented clock distribution code in GstBin.
13791         Implemented iterate sinks method for future use.
13792         Rearranged gstelement.h
13793         Fix GstIterator comparison bug.
13794         Moved some code to GstPipeline, mostly clocking related.
13795
13796 2005-03-09  Wim Taymans  <wim@fluendo.com>
13797
13798         * configure.ac:
13799         * gst/gst_private.h:
13800         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13801         (gst_bin_remove_func), (gst_bin_remove),
13802         (gst_bin_get_by_name_recurse_up):
13803         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13804         (gst_clock_id_compare_func), (gst_clock_id_wait),
13805         (gst_clock_id_wait_async), (gst_clock_init),
13806         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13807         * gst/gstelement.h:
13808         * gst/gstinfo.c: (_gst_debug_init):
13809         * gst/gstobject.h:
13810         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13811         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13812         * gst/gstpad.h:
13813         Bump version number, we're now 0.9.0
13814         Add future debugging category.
13815         Fix NULL _unref() in _get_by_name_recurse_up
13816         Rearrange gstpad.h.
13817         Update some docs.
13818
13819 2005-03-08  Wim Taymans  <wim@fluendo.com>
13820
13821         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13822         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13823         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13824         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13825         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13826         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13827         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13828         * gst/elements/gstidentity.c: (gst_identity_class_init):
13829         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13830         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13831         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13832         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13833         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13834         (gst_tee_link):
13835         * gst/gstelement.c: (gst_element_class_init),
13836         (gst_element_base_class_init), (gst_element_init),
13837         (gst_element_get_random_pad), (gst_element_wait_state_change),
13838         (gst_element_change_state), (gst_element_dispose),
13839         (gst_element_finalize), (gst_element_set_loop_function):
13840         * gst/gstelement.h:
13841         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13842         * gst/gstthread.c: (gst_thread_class_init),
13843         (gst_thread_release_children_locks), (gst_thread_change_state):
13844         * gst/schedulers/gstbasicscheduler.c:
13845         (gst_basic_scheduler_loopfunc_wrapper),
13846         (gst_basic_scheduler_chain_wrapper),
13847         (gst_basic_scheduler_src_wrapper),
13848         (gst_basic_scheduler_remove_element):
13849         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13850         Remove threadsafe properties. Fix elements because GObject
13851         complains when installing a property before declaring a
13852         set/get_property handler.
13853         Rearrange gstelement.h file, use STATE macros for state locks.
13854         Free mutexes in the finalize method instead of dispose.
13855
13856 2005-03-08  Wim Taymans  <wim@fluendo.com>
13857
13858         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13859         * gst/gstthread.c: (gst_thread_release_children_locks):
13860         Added parentage check.
13861         Fix build og GstThread again.
13862
13863 2005-03-08  Wim Taymans  <wim@fluendo.com>
13864
13865         * docs/design/part-MT-refcounting.txt:
13866         * docs/design/part-conventions.txt:
13867         * docs/design/part-gstobject.txt:
13868         * docs/design/part-relations.txt:
13869         * docs/design/part-standards.txt:
13870         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13871         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13872         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13873         (gst_bin_iterate_all_by_interface):
13874         * gst/gstbuffer.h:
13875         * gst/gstclock.h:
13876         * gst/gstelement.c: (gst_element_class_init),
13877         (gst_element_change_state), (gst_element_set_loop_function):
13878         * gst/gstelement.h:
13879         * gst/gstiterator.c:
13880         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13881         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13882         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13883         (gst_object_set_parent), (gst_object_unparent),
13884         (gst_object_check_uniqueness):
13885         * gst/gstobject.h:
13886         Docs updates, clean up some headers.
13887
13888 2005-03-07  Wim Taymans  <wim@fluendo.com>
13889
13890         * check/.cvsignore:
13891         * check/Makefile.am:
13892         * check/gst-libs/.cvsignore:
13893         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13894         * check/gst/.cvsignore:
13895         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13896         (START_TEST), (gstbus_suite), (main):
13897         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13898         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13899         (gst_data_suite), (main):
13900         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13901         (add_fold_func), (gstiterator_suite), (main):
13902         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13903         (thread_name_object), (thread_name_object_default),
13904         (gst_object_name_compare), (gst_object_suite), (main):
13905         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13906         (gst_pad_suite), (main):
13907         * check/gstcheck.c: (gst_check_log_message_func),
13908         (gst_check_log_critical_func), (gst_check_init):
13909         * check/gstcheck.h:
13910         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13911         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13912         Added checks.
13913
13914 2005-03-07  Wim Taymans  <wim@fluendo.com>
13915
13916         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13917         (gst_list_iterator_next), (gst_list_iterator_resync),
13918         (gst_list_iterator_free), (gst_iterator_new_list),
13919         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13920         (gst_iterator_free), (gst_iterator_push), (filter_next),
13921         (filter_resync), (filter_uninit), (filter_free),
13922         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13923         (gst_iterator_foreach), (find_custom_fold_func),
13924         (gst_iterator_find_custom):
13925         * gst/gstiterator.h:
13926         Added missing files.
13927
13928 2005-03-07  Wim Taymans  <wim@fluendo.com>
13929
13930         * Makefile.am:
13931         * configure.ac:
13932         * docs/design/part-MT-refcounting.txt:
13933         * docs/design/part-conventions.txt:
13934         * docs/design/part-gstobject.txt:
13935         * docs/design/part-relations.txt:
13936         * examples/mixer/mixer.c: (main):
13937         * examples/thread/thread.c: (eos), (main):
13938         * gst/Makefile.am:
13939         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13940         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13941         (gst_spider_plug_from_srcpad):
13942         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13943         (gst_spider_identity_change_state),
13944         (gst_spider_identity_sink_loop_type_finding):
13945         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13946         * gst/elements/gstidentity.c: (gst_identity_init):
13947         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13948         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13949         * gst/elements/gsttypefindelement.c: (free_entry):
13950         * gst/gst.c:
13951         * gst/gst.h:
13952         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13953         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13954         (gst_bin_set_index), (gst_bin_set_element_sched),
13955         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13956         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13957         (gst_bin_iterate_elements), (iterate_child_recurse),
13958         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13959         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13960         (compare_interface), (gst_bin_get_by_interface),
13961         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13962         * gst/gstbin.h:
13963         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13964         (gst_buffer_default_free), (gst_buffer_default_copy),
13965         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13966         (gst_buffer_create_sub):
13967         * gst/gstbuffer.h:
13968         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13969         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13970         (gst_caps_unref), (gst_static_caps_get),
13971         (gst_caps_remove_and_get_structure), (gst_caps_append),
13972         (gst_caps_append_structure), (gst_caps_remove_structure),
13973         (gst_caps_copy_nth), (gst_caps_set_simple),
13974         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13975         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13976         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13977         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13978         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13979         (gst_caps_structure_figure_out_union),
13980         (gst_caps_switch_structures), (gst_caps_do_simplify),
13981         (gst_caps_replace), (gst_caps_from_string),
13982         (gst_caps_copy_conditional):
13983         * gst/gstcaps.h:
13984         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13985         (_gst_clock_id_free), (gst_clock_id_unref),
13986         (gst_clock_id_compare_func), (gst_clock_id_wait),
13987         (gst_clock_id_wait_async), (gst_clock_class_init),
13988         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13989         (gst_clock_get_time), (gst_clock_set_time_adjust),
13990         (gst_clock_set_property), (gst_clock_get_property):
13991         * gst/gstclock.h:
13992         * gst/gstcompat.h:
13993         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13994         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13995         * gst/gstdata.h:
13996         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13997         (gst_element_requires_clock), (gst_element_provides_clock),
13998         (gst_element_set_clock), (gst_element_clock_wait),
13999         (gst_element_wait), (gst_element_set_time_delay),
14000         (gst_element_is_indexable), (gst_element_add_pad),
14001         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14002         (pad_compare_name), (gst_element_get_static_pad),
14003         (gst_element_request_pad), (gst_element_get_request_pad),
14004         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14005         (gst_element_class_get_pad_template_list),
14006         (gst_element_class_get_pad_template), (gst_element_error_func),
14007         (gst_element_get_random_pad), (gst_element_get_event_masks),
14008         (gst_element_send_event), (gst_element_seek),
14009         (gst_element_get_query_types), (gst_element_query),
14010         (gst_element_get_formats), (gst_element_convert),
14011         (gst_element_is_locked_state), (gst_element_set_locked_state),
14012         (gst_element_sync_state_with_parent), (gst_element_change_state),
14013         (gst_element_finalize), (gst_element_yield),
14014         (gst_element_interrupt), (gst_element_set_scheduler),
14015         (gst_element_get_scheduler), (gst_element_set_loop_function):
14016         * gst/gstelement.h:
14017         * gst/gstevent.h:
14018         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14019         (gst_format_get_by_nick), (gst_format_get_details),
14020         (gst_format_iterate_definitions):
14021         * gst/gstformat.h:
14022         * gst/gstindex.c: (gst_index_gtype_resolver):
14023         * gst/gstinfo.c:
14024         * gst/gstinfo.h:
14025         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14026         (gst_mem_chunk_free):
14027         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14028         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14029         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14030         (gst_object_dispatch_properties_changed),
14031         (gst_object_set_name_default), (gst_object_set_name),
14032         (gst_object_get_name), (gst_object_set_name_prefix),
14033         (gst_object_get_name_prefix), (gst_object_set_parent),
14034         (gst_object_get_parent), (gst_object_unparent),
14035         (gst_object_check_uniqueness), (gst_object_save_thyself),
14036         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14037         (gst_object_set_property), (gst_object_get_property),
14038         (gst_object_get_path_string):
14039         * gst/gstobject.h:
14040         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14041         (gst_real_pad_init), (gst_real_pad_get_property),
14042         (gst_pad_custom_new), (gst_pad_get_direction),
14043         (gst_pad_set_active), (gst_pad_is_active),
14044         (gst_pad_set_event_function), (gst_pad_is_linked),
14045         (gst_pad_link_free), (gst_pad_link_intersect),
14046         (gst_pad_link_fixate), (gst_pad_set_caps),
14047         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14048         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14049         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14050         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14051         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14052         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14053         (gst_pad_realize), (gst_pad_get_allowed_caps),
14054         (gst_real_pad_dispose), (gst_real_pad_finalize),
14055         (gst_pad_collectv), (gst_pad_collect_valist),
14056         (gst_pad_template_dispose), (gst_pad_template_new),
14057         (gst_pad_get_internal_links):
14058         * gst/gstpad.h:
14059         * gst/gstpipeline.c: (gst_pipeline_dispose),
14060         (gst_pipeline_change_state):
14061         * gst/gstpipeline.h:
14062         * gst/gstplugin.c:
14063         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14064         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14065         * gst/gstpluginfeature.h:
14066         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14067         * gst/gstquery.c: (_gst_query_type_initialize),
14068         (gst_query_type_register), (gst_query_type_get_by_nick),
14069         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14070         * gst/gstquery.h:
14071         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14072         * gst/gstscheduler.c: (gst_scheduler_add_element),
14073         (gst_scheduler_factory_create):
14074         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14075         (gst_structure_free), (gst_structure_set_name),
14076         (gst_structure_id_set_value), (gst_structure_set_value),
14077         (gst_structure_set_valist), (gst_structure_remove_field),
14078         (gst_structure_remove_fields),
14079         (gst_structure_remove_fields_valist),
14080         (gst_structure_remove_all_fields), (gst_structure_foreach),
14081         (gst_structure_map_in_place),
14082         (gst_caps_structure_fixate_field_nearest_int),
14083         (gst_caps_structure_fixate_field_nearest_double):
14084         * gst/gststructure.h:
14085         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14086         (gst_system_clock_init), (gst_system_clock_dispose),
14087         (gst_system_clock_async_thread),
14088         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14089         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14090         * gst/gstsystemclock.h:
14091         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14092         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14093         * gst/gsttaginterface.c:
14094         * gst/gstthread.c: (gst_thread_dispose),
14095         (gst_thread_release_children_locks), (gst_thread_change_state),
14096         (gst_thread_main_loop):
14097         * gst/gsttrashstack.h:
14098         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14099         * gst/gsttypes.h:
14100         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14101         (gst_element_request_pad), (gst_element_get_pad_from_template),
14102         (gst_element_request_compatible_pad),
14103         (gst_element_get_compatible_pad_filtered),
14104         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14105         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14106         (gst_element_link_many), (gst_element_link),
14107         (gst_element_link_pads), (gst_element_unlink_pads),
14108         (gst_element_unlink_many), (gst_element_unlink),
14109         (gst_pad_can_link_filtered), (gst_pad_can_link),
14110         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14111         (gst_object_default_error), (gst_bin_add_many),
14112         (gst_bin_remove_many), (gst_element_populate_std_props),
14113         (gst_element_class_install_std_props), (gst_buffer_merge),
14114         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14115         (link_fold_func), (gst_pad_proxy_setcaps):
14116         * gst/gstutils.h:
14117         * gst/gstvalue.c: (gst_value_deserialize_string):
14118         * gst/parse/grammar.y:
14119         * gst/schedulers/gstbasicscheduler.c:
14120         (gst_basic_scheduler_cothreaded_chain),
14121         (gst_basic_scheduler_chain_recursive_add),
14122         (gst_basic_scheduler_pad_link):
14123         * gst/schedulers/gstoptimalscheduler.c:
14124         (get_group_schedule_function),
14125         (gst_opt_scheduler_state_transition),
14126         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14127         * libs/gst/bytestream/bytestream.c:
14128         * libs/gst/dataprotocol/dataprotocol.c:
14129         (gst_dp_header_from_buffer):
14130         * po/nb.po:
14131         * po/ru.po:
14132         * tests/threadstate/threadstate2.c: (eos):
14133         * tools/gst-compprep.c: (main):
14134         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14135         (print_pad_info), (print_children_info):
14136         * tools/gst-launch.c: (idle_func), (main):
14137         * tools/gst-md5sum.c: (idle_func), (main):
14138         * tools/gst-xmlinspect.c: (print_element_info):
14139         First THREADED backport attempt, focusing on adding locks and
14140         making sure the API is threadsafe. Needs more work. More docs
14141         follow this week.
14142
14143 2005-02-24  Andy Wingo  <wingo@pobox.com>
14144
14145         * tests/bench-complexity.scm:
14146         * tests/complexity.gnuplot: New files, good for running complexity
14147         benchmarks.
14148
14149         * tests/Makefile.am:
14150         * tests/complexity.c: New test, sets up N elements, at each level
14151         teeing into M streams per element. Eeeenteresting.
14152
14153         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14154         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14155         running bench-mass_elements.scm.
14156
14157         * tests/bench-mass_elements.scm: New script, runs mass_elements
14158         for various numbers of identities, outputting the results to a
14159         file. Requires guile 1.6. Just for testing.
14160
14161 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14162
14163         * gst/schedulers/fairscheduler.c:
14164           compile with debug disabled
14165
14166 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14167
14168         * configure.ac:
14169           hunting season on 0.9 is now OPEN