1713ccae44ddadad34c3e044e4ac60651470d6ae
[glsdk/gstreamer0-10.git] / ChangeLog
1 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3         * gst/Makefile.am:
4           Revert patch which uses $(gst_headers) instead of $^ because it
5           breaks make dist.
7 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9         * tests/check/gst/gstbin.c: (GST_START_TEST):
10           Fix leaks in the new unit test.
12 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
14         * gst/gst.c:
15           Don't use GST_INFO before the debug system is actually initialised
16           (shouldn't do any harm, but won't print anything either, so we can
17           just as well remove it).
19         * gst/gstinfo.h:
20           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
21           compilers that don't support variadic macros (such as MSVC), should
22           check for debug_level <= __gst_debug_min as well, since that's the
23           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
24           inline helper functions. Should improve performance a bit, but also
25           makes sure uses of GST_INFO et.al are ignored if the debugging
26           system isn't initialised yet (instead of printing an assertion
27           failure).
29 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
31         patch by: David Nečas <yeti@physics.muni.cz>
33         * gst/Makefile.am:
34           Replace some non portable makefile constructs.
36 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
38         * common/gtk-doc-plugins.mak:
39           Grrrrr. Don't remove the types file on make clean.
41 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
43         * tools/gst-launch.1.in:
44         Add colorspace to example pipeline. Fixes #458274.
46 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
48         * docs/random/release:
49           The release manager should run 'make download-po' before making a
50           release to make sure translations are up-to-date.
52         * po/LINGUAS:
53         * po/be.po:
54         * po/pl.po:
55         * po/rw.po:
56           Add some new translations.
58 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
60         * tools/gst-launch.c: (event_loop), (main):
61         Don´t try to do any state management when a live pipeline posts
62         buffering messages.
63         Also make the buffering string translatable.
65 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
67         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
68         (bin_handle_async_start), (gst_bin_handle_message_func):
69         Improve debugging.
70         When adding elements, insert messages into the bus of the newly added
71         element and make sure the element is the source of the message. This
72         allows the parent bin to intercept the message and do the
73         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
74         messages to the app (which is not allowed).
75         Update some docs.
77         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
78         Fix testsuite so that is does not work around messages that should not
79         have been posted in the first place.
81 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
83         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
84         (update_degree), (gst_bin_sort_iterator_next):
85         Fix annoying bug in the sorted iterator where a sink that is not really
86         a sink (when it has downstream links) screwed up the iterator.
88         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
89         Unit test to verify the fix.
91 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
93         * gst/gstmessage.h:
94         Add some more docs for the messages.
96         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
97         (gst_base_sink_query):
98         Add some more debugging.
100         * tools/gst-launch.c: (event_loop):
101         When interrupting, don't try to set pipeline to PAUSED twice.
103 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
105         
106         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
107         (bin_handle_async_start), (gst_bin_handle_message_func):
108         Move ASYNC_START message posting to where it belongs, similar to
109         async_done. 
110         Don't post ASYNC_START when we are in error. 
111         Post ASYNC_START when we added an async element to a bin.
113 2007-08-14  Julien MOUTTE  <julien@moutte.net>
115         * gst/gstindex.c: (gst_index_add_association): Fix index entry
116         generation from vargs. Fixes #466595.
118 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
120         * gst/gstbin.c: (gst_bin_element_set_state):
121         Always change the state of a NO_PREROLL element even if it has ASYNC
122         elements inside (in case of a bin).
124         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
125         Unit test for this case.
127 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
129         * libs/gst/check/gstbufferstraw.c:
130         * libs/gst/check/gstcheck.h:
131         * libs/gst/controller/gstcontroller.c:
132         * libs/gst/controller/gstcontrolsource.h:
133         * libs/gst/controller/gstlfocontrolsource.h:
134         * plugins/elements/gstcapsfilter.h:
135         * plugins/elements/gstfdsink.h:
136         * plugins/elements/gstfdsrc.h:
137           Add more missing docs.
139 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
141         * gst/gststructure.c:
142         Add Since tag to docs.
144 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
146         * docs/gst/gstreamer-sections.txt:
147         * gst/gststructure.c: (gst_structure_get_uint):
148         * gst/gststructure.h:
149         Add function to get uint from a structure.
150         API: gst_structure_get_uint()
152 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
154         * gst/gstcaps.c: (gst_caps_set_simple_valist),
155         (gst_caps_intersect):
156         Fix proper check for simple caps.
158 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
160         * docs/gst/Makefile.am:
161         * docs/libs/Makefile.am:
162           Remove cruft and do some cleanups.
164         * docs/gst/gstreamer-docs.sgml:
165         * docs/libs/gstreamer-libs-docs.sgml:
166           Prepare for comming gtkdoc features (rebase against online docs).
168 2007-08-10  Michael Smith <msmith@fluendo.com>
170         * docs/gst/gstreamer-sections.txt:
171           Add gst_registry_add_path to docs.
173 2007-08-10  Michael Smith <msmith@fluendo.com>
175         * gst/gstregistry.h:
176           Add gst_registry_add_path, which was missing from this header.
178 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
180         * libs/gst/controller/gstlfocontrolsource.c:
181           Printf format fix.
183 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
185         * libs/gst/base/gstbasesink.c:
186           Don't send an async_start message during downwards state change if 
187           target state is less than READY
189 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
191         translated by: Gabor Kelemen <kelemeng@gnome.hu>
193         * po/LINGUAS:
194         * po/hu.po:
195           Added Hungarian translation.
197 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
199         * po/fi.po:
200         * po/it.po:
201         * po/nl.po:
202         * po/sv.po:
203         * po/uk.po:
204           Updated translations.
206 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
208         * libs/gst/controller/Makefile.am:
209         Dist gstlfocontrolsourceprivate.h
211 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
213         * docs/libs/gstreamer-libs.types:
214         Don't register the enum type gst_lfo_waveform_get_type() in the
215         .types file - only GObject derived types belong.
217 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
219         Patch by: <arenevier at fdn dot fr>
221         * gst/gstbuffer.h:
222         Remove comma from last element in enum to avoid compile errors when
223         using -pendantic. Fixes #464366.
225 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
227         * docs/design/part-TODO.txt:
228         Add some more TODO items
230         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
231         Improve debugging.
233         * gst/gstcaps.c: (gst_caps_intersect):
234         Optimize trivial intersection case between identical caps pointers.
236         * gst/gstelement.c: (gst_element_continue_state),
237         (gst_element_set_state_func):
238         * gst/gstpad.c:
239         Fix spelling and grammar mistakes.
241 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
243         * po/POTFILES.in:
244         * po/POTFILES.skip:
245           Update POTFILES. Fixes #461599.
247 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
249         * gst/gst.c:
250         Fix confusing typo in debug output.
252 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
254         reviewed by: Stefan Kost <ensonic@users.sf.net>
256         * libs/gst/controller/Makefile.am:
257         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
258         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
259         (gst_lfo_control_source_new),
260         (gst_lfo_control_source_set_waveform),
261         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
262         (gst_lfo_control_source_finalize),
263         (gst_lfo_control_source_dispose),
264         (gst_lfo_control_source_set_property),
265         (gst_lfo_control_source_get_property),
266         (gst_lfo_control_source_class_init):
267         * libs/gst/controller/gstlfocontrolsource.h:
268         * libs/gst/controller/gstlfocontrolsourceprivate.h:
269         API: Add GstLFOControlSource, a control source that gives values
270         for specific timestamps based on several periodic waveforms.
271         Fixes #459717.
273         * tests/check/libs/controller.c: (GST_START_TEST),
274         (gst_controller_suite):
275         * docs/libs/gstreamer-libs-docs.sgml:
276         * docs/libs/gstreamer-libs-sections.txt:
277         * docs/libs/gstreamer-libs.types:
278         Add documentation and unit tests for GstLFOControlSource.
280 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
282         * configure.ac:
283         Back to CVS
285 === release 0.10.14 ===
287 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
289         * configure.ac:
290           releasing 0.10.14, "Breathing Vacuum"
292 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
294         * gst/gstelement.c: (gst_element_class_set_details_simple):
295         * gst/gstelement.h:
296           Make strings passed to gst_element_class_set_details_simple()
297           constant, as they should be (#462752).
299 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
301         * gst/gstbin.c: (gst_bin_change_state_func),
302         (bin_handle_async_done), (gst_bin_handle_message_func):
303         Don't forget about the fact that some element went ASYNC even after a
304         resync. This makes us post the ASYNC_DONE message correctly.
305         Fixes #462558.
307 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
309         * gst/gstregistry.c: (gst_registry_add_feature):
310         When replacing an existing feature in the registry, make sure to
311         continue holding a reference until we've replaced the name string
312         within our feature hash table. Make sure to use g_hash_table_replace
313         instead of g_hash_table_insert to ensure the new name string is used
314         as a key instead of the old one that we're about to free.
315         Fixes: #462085
317 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
319         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
320         (gst_plugin_feature_set_name):
321         Revert patch from #459466 until after the release and we can work
322         out exactly what the problem is (if any).
324 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
326         * docs/gst/gstreamer-sections.txt:
327         * gst/gsttaglist.c:
328         * gst/gsttaglist.h:
329           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
331 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
333         * docs/libs/Makefile.am:
334         Include our build-prefix libs and includes before the generic ones to
335         avoid linking against the installed libs when we want the build-tree
336         ones.
338 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
340         Patch by: Steve Fink  <sphink gmail com>
342         * docs/pwg/building-testapp.xml:
343           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
344           if people try to build or install the example from the plugin
345           template against a GStreamer from package using the configure
346           defaults.
348 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
350         Patch by: Steve Fink  <sphink gmail com>
352         * tools/gst-inspect.1.in:
353           Document --print-all and --print-plugin-auto-install-info command
354           line options in man page.
356 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
358         * docs/gst/gstreamer-sections.txt:
359         Add docs for new api function.
361 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
363         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
364         * gst/gstelementfactory.h:
365         API: gst_element_factory_has_interface()
366         Added method to check if an element factory implements a named
367         interface.
369 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
371         * configure.ac:
372         * docs/gst/gstreamer.types.in:
373           Another conditional doc check.
375         * gst/gstmessage.c:
376         * gst/gstparamspecs.h:
377         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
378         * gst/gstvalue.c:
379         * gst/gstxml.h:
380           API-doc fixes.
382 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
384         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
385         (gst_registry_binary_load_feature),
386         (gst_registry_binary_load_plugin),
387         (gst_registry_binary_read_cache):
388           Print error just once and with additional info.
390 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
392         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
393         (helper_find_suggest), (helper_find_get_length),
394         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
395         (gst_type_find_helper_for_buffer):
396           Cleanup the typefindhelper code and add private doc comments.
398 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
400         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
401         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
402         Fix capsfilter for cases where the caps set on capsfilter will provide
403         additional information.
404         Fixes #449197
406 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
408         * gst/gsttypefindfactory.c:
409           Fix docs that recommened wrong function to use.
411 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
413         * tools/gst-inspect.c: (print_plugin_features):
414           Also give media-type for typefinders in element output.
416 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
418         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
419         (gst_registry_remove_features_for_plugin_unlocked),
420         (gst_registry_add_feature), (gst_registry_remove_feature),
421         (gst_registry_lookup_feature_locked):
422         * gst/gstregistry.h:
423           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
424           Fixes #459501.
426 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
428         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
429         (gst_plugin_feature_set_name):
430           Avoid double memory usage for pluginfeature names. Fixes #459466.
432 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
434         * gst/gstpad.h:
435           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
436           driving the pipeline may need to explicitly check for NOT_LINKED as
437           well, since IS_FATAL doesn't cover that.
439 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
441         * docs/pwg/advanced-types.xml:
442           Fix typo and duplicate entry in video formats list.
444 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
446         * libs/gst/controller/gstinterpolation.c:
447         Also round to the nearest int when using cubic interpolation.
449 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
451         * libs/gst/controller/gstinterpolation.c:
452         When linearly interpolating integer types, round to the nearest int
453         by adding 0.5. Don't do it for float/double types.
454         Fixes the failing controller test on my machine, which is somehow
455         rounding differently than on the buildbots.
457 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
459         * tools/gst-plot-timeline.py:
460           Better log parsing (categories can have -). Adjust text vs. lines, so
461           that they span the same y-range.        
463 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
465         * docs/random/ensonic/audiobaseclasses.txt:
466         * docs/random/ensonic/dynlink.txt:
467         * docs/random/ensonic/profiling.txt:
468           Save my thoughts.
470         * docs/random/moving-plugins:
471           Add note to use g_assert type macros.
473 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
475         * configure.ac:
476         * libs/gst/check/Makefile.am:
477           Add libm check as we use in for plugins.
479 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
481         * gst/gstbin.c: (gst_bin_continue_func):
482         Check that the state_cookie hasn't changed since the continue_func
483         was scheduled. Avoids problems where the state changes back to
484         something it shouldn't be because it was changed in the meantime.
486 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
488         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
489         (gst_registry_binary_save_string),
490         (gst_registry_binary_save_pad_template),
491         (gst_registry_binary_save_feature),
492         (gst_registry_binary_save_plugin),
493         (gst_registry_binary_load_feature),
494         (gst_registry_binary_load_plugin),
495         (gst_registry_binary_read_cache):
496           Fix memory leak. Be less verbose in the log.
498 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
500         * tests/check/elements/.cvsignore:
501         Add file to cvsignore as commanded.
503 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
505         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
506         (mq_dummypad_event), (run_output_order_test):
507         Use a GStaticMutex to protect all cases where libcheck
508         fail_if/fail_unless macros might be called from multiple threads
509         simultaneously to avoid errors like:
510           "check_pack.c:107: :-1081725400:Bad message type arg"
512 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
514         * tests/check/pipelines/stress.c: (GST_START_TEST):
515         Make sure we set the pipeline back to the NULL state before
516         dropping our final reference.
518 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
520         * tests/check/elements/tee.c: (GST_START_TEST):
521         Make the tee stress-test a little less stressful so it doesn't just
522         time out on slow-machines, and remove a small race when it's starting 
523         up by adding a get_state() call.
525 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
527         * gst/gst.c:
528           Avoid reading registry twice on startup. Fixes #457322.
530 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
532         * pkgconfig/gstreamer-check-uninstalled.pc.in:
533         * pkgconfig/gstreamer-check.pc.in:
534         Substitute the CFLAGS for libcheck into our .pc file too so that
535         dependent modules will pick it up properly if libcheck is installed
536         into some other prefix.
538 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
540         * configure.ac:
541         Revert the pkg-config check for libcheck, since it pulls in the
542         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
543         a proper solution, either from the check project, or something else.
545 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
547         * configure.ac:
548           Use pkg-config to locate check.
550 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
552         * gst/gsttaglist.c:
553           Fix doc syntax.
555         * gst/gstutils.c:
556         * gst/gstutils.h:
557           Add deprecation guards.
559         * libs/gst/base/gstcollectpads.h:
560           Don't document object (this is implicitly private).
562 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
564         * gst/gststructure.c: (gst_structure_parse_value):
565           When deserialising foo=bar without a type cast, check if it's a
566           boolean before falling back to a string type, otherwise things like
567           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
568           because the filtercaps end up having a signed=(string)true field,
569           which causes problems later when intersection caps.
571         * tests/check/gst/gststructure.c: (GST_START_TEST):
572           Add a unit test for this.
574 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
576         Reviewed by: Stefan Kost <ensonic@users.sf.net>
578         * libs/gst/controller/Makefile.am:
579         * libs/gst/controller/gstcontroller.c:
580         (gst_controlled_property_add_interpolation_control_source),
581         (gst_controlled_property_new), (gst_controlled_property_free),
582         (gst_controller_find_controlled_property),
583         (gst_controller_new_valist), (gst_controller_new_list),
584         (gst_controller_new), (gst_controller_remove_properties_valist),
585         (gst_controller_remove_properties_list),
586         (gst_controller_remove_properties),
587         (gst_controller_set_property_disabled),
588         (gst_controller_set_disabled), (gst_controller_set_control_source),
589         (gst_controller_get_control_source), (gst_controller_get),
590         (gst_controller_sync_values), (gst_controller_get_value_array),
591         (_gst_controller_dispose), (gst_controller_get_type),
592         (gst_controlled_property_set_interpolation_mode),
593         (gst_controller_set), (gst_controller_set_from_list),
594         (gst_controller_unset), (gst_controller_unset_all),
595         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
596         * libs/gst/controller/gstcontroller.h:
597         * libs/gst/controller/gstcontrollerprivate.h:
598         * libs/gst/controller/gstcontrolsource.c:
599         (gst_control_source_class_init), (gst_control_source_init),
600         (gst_control_source_get_value),
601         (gst_control_source_get_value_array), (gst_control_source_bind):
602         * libs/gst/controller/gstcontrolsource.h:
603         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
604         (gst_object_get_control_source):
605         * libs/gst/controller/gstinterpolation.c:
606         (gst_interpolation_control_source_find_control_point_node),
607         (gst_interpolation_control_source_get_first_value),
608         (_interpolate_none_get), (interpolate_none_get),
609         (interpolate_none_get_boolean_value_array),
610         (interpolate_none_get_enum_value_array),
611         (interpolate_none_get_string_value_array),
612         (_interpolate_trigger_get), (interpolate_trigger_get),
613         (interpolate_trigger_get_boolean_value_array),
614         (interpolate_trigger_get_enum_value_array),
615         (interpolate_trigger_get_string_value_array):
616         * libs/gst/controller/gstinterpolationcontrolsource.c:
617         (gst_control_point_free), (gst_interpolation_control_source_reset),
618         (gst_interpolation_control_source_new),
619         (gst_interpolation_control_source_set_interpolation_mode),
620         (gst_interpolation_control_source_bind),
621         (gst_control_point_compare), (gst_control_point_find),
622         (gst_interpolation_control_source_set_internal),
623         (gst_interpolation_control_source_set),
624         (gst_interpolation_control_source_set_from_list),
625         (gst_interpolation_control_source_unset),
626         (gst_interpolation_control_source_unset_all),
627         (gst_interpolation_control_source_get_all),
628         (gst_interpolation_control_source_get_count),
629         (gst_interpolation_control_source_init),
630         (gst_interpolation_control_source_finalize),
631         (gst_interpolation_control_source_dispose),
632         (gst_interpolation_control_source_class_init):
633         * libs/gst/controller/gstinterpolationcontrolsource.h:
634         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
635         API: Refactor GstController into the core controller which can take
636         a GstControlSource for providing actual values for timestamps.
637         Implement a interpolation control source and use this for backward
638         compatibility, deprecate a bunch of functions that are now handled
639         by GstControlSource or GstInterpolationControlSource.
640         Make it possible to disable the controller completely or only for
641         specific properties. Fixes #450711.
642         * docs/libs/gstreamer-libs-docs.sgml:
643         * docs/libs/gstreamer-libs-sections.txt:
644         * docs/libs/gstreamer-libs.types:
645         Add new functions and classes to the docs.
646         * tests/check/libs/controller.c: (GST_START_TEST),
647         (gst_controller_suite):
648         * tests/examples/controller/audio-example.c: (main):
649         Port unit test and example to the new API and add some new
650         unit tests.
652 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
654         Patch by: Mark Nauwelaerts <manauw at skynet be>
656         * plugins/elements/gstmultiqueue.c:
657         (gst_multi_queue_get_internal_links), (apply_buffer),
658         (single_queue_overrun_cb), (gst_single_queue_new):
659         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
660         the pipeline layout can be tracked correctly. Fixes #453732.
662 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
664         * docs/gst/Makefile.am:
665         * docs/libs/Makefile.am:
666         * docs/plugins/Makefile.am:
667           Simplify --extra-dir as gtkdoc scans recursively.
669 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
671         * tools/gst-launch.c: (main):
672         When we got an error, there is no point in waiting for preroll when
673         shutting down.
675 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
677         * plugins/elements/gsttee.c: (gst_tee_base_init),
678         (gst_tee_request_new_pad), (gst_tee_release_pad),
679         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
680         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
681         (gst_tee_chain):
682         Be a lot smarter when deciding what srcpad to use for proxying
683         the buffer_alloc. Also handle pad added/removed when doing so.
684         Fixes #357959.
685         Keep track of what pads we already pushed on in case we have pads
686         added/removed while pushing. Fixes #374639 
688         * tests/check/Makefile.am:
689         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
690         (tee_suite):
691         Added unit test for pad resync.
693 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
695         * po/nl.po:
696         * po/sv.po:
697           Updated translations.
699 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
701         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
703         * po/LINGUAS:
704         * po/fi.po:
705           Added new Finnish translation.
707 2007-06-28  Wim Taymans  <wim@fluendo.com>
709         * plugins/elements/gstmultiqueue.c: (apply_buffer),
710         (single_queue_overrun_cb):
711         When figuring out when a queue is filled, use our internal time estimate
712         based on segments, just like check_full does.
714 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
716         * gst/gstminiobject.c: (gst_mini_object_get_type):
717           Remove 3 do-nothing methods.
719 2007-06-27  Wim Taymans  <wim@fluendo.com>
721         Patch by: Tim Angus <tim at ngus dot net>
723         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
724         (gst_capsfilter_set_property):
725         Take a reference instead of a copy when setting "caps".
726         Fix documentation to clarify this behaviour. Fixes #449414.
728 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
730         * gst/gstindexfactory.c: (gst_index_factory_get_type):
731         * gst/gstplugin.c: (gst_plugin_init):
732         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
733         * gst/gstquery.c: (gst_query_get_type):
734         * gst/gstregistry.c: (gst_registry_init):
735         * gst/gsturi.c: (gst_uri_handler_base_init):
736           Remove empty instance_init() functions to save relocs and lessen the
737           noise. Remove some of the function prototypes that are doubled by
738           G_DEFINE_TYPE.
739           
740 2007-06-27  Wim Taymans  <wim@fluendo.com>
742         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
744         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
745         Add peer and direction in the XML serialisation of ghostpads.
746         Fixes #449226.
748 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
750         * configure.ac:
751           Preserve useful information, thanks Tim.
753 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
755         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
756         (gst_single_queue_flush), (apply_segment), (apply_buffer),
757         (gst_single_queue_push_one), (gst_multi_queue_loop),
758         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
759         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
760         (compute_high_id), (gst_single_queue_new):
761         * plugins/elements/gstmultiqueue.h:
762         Take the multiqueue lock when updating the fill level so we don't get
763         confused. 
765         After applying a buffer or event on the src pad segment, make sure to
766         call gst_data_queue_limits_changed() to get the data queue to unblock
767         and check the filled state again.
768         
769         Rework the not-linked pad handling so the logic is that not-linked 
770         pads can push as fast as they like, but only so they never get 
771         ahead of any linked pads.
773         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
774         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
775         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
777         Add a test to check that not-linked pads always stay behind
778         linked pads.
780         Fixes: #430682
782 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
784         * docs/random/release:
785           Some updates to the release procedure.
787 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
789         * gst/gstelementfactory.c: (__gst_element_details_clear):
790           Microoptimization that saves stunning 80 bytes.
792 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
794         * docs/plugins/gstreamer-plugins.args:
795         * docs/plugins/inspect/plugin-coreelements.xml:
796         * docs/plugins/inspect/plugin-coreindexers.xml:
797           Update docs with caps info.
799 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
801         * po/it.po:
802           Updated Italian translation.
804 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
806         * ChangeLog:
807         * po/vi.po:
808           Update Vietnamese translations.
810 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
812         * libs/gst/base/gstbasesink.c:
813           Remove unused signal enum.
815 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
817         * docs/gst/gstreamer-sections.txt:
818         * gst/gstelement.c:
819         * gst/gstutils.c: (gst_type_register_static_full):
820         Beef up and include the docs for gst_type_register_static_full and
821         gst_element_class_set_details_simple and add the API keyword
822         in the ChangeLog.
824 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
826         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
827         (update_time_level), (gst_single_queue_push_one),
828         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
829         (single_queue_overrun_cb), (single_queue_underrun_cb),
830         (single_queue_check_full):
831         Fix setting max-* properties after adding queues.
832         Use IS_FILLED for checking visible items.
833         Signal overrun if multiple queues overrun.
834         Add extra debug output.
835         Patch by: Wim Taymans <wim@fluendo.com>
837 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
839         * gst/gstelement.c: (gst_element_class_set_details_simple):
840         * gst/gstelement.h:
841         * gst/gstutils.c: (gst_type_register_static_full):
842         * gst/gstutils.h:
843         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
844         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
845         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
846         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
847         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
848         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
849         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
850         * plugins/elements/gstidentity.c: (gst_identity_base_init):
851         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
852         * plugins/elements/gstqueue.c: (gst_queue_base_init),
853         (apply_buffer), (gst_queue_chain):
854         * plugins/elements/gsttee.c: (gst_tee_base_init):
855         * plugins/elements/gsttypefindelement.c:
856         (gst_type_find_element_base_init),
857         (gst_type_find_element_class_init):
858           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
859           API: add gst_type_register_static_full
860           API: add gst_element_class_set_details_simple
862 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
864         * docs/pwg/advanced-types.xml:
865           Fix typo in iana.org URI.
867 2007-06-19  Andy Wingo  <wingo@pobox.com>
869         * tests/check/pipelines/simple-launch-lines.c
870         (test_state_change_returns): Enable pull-mode tests now that
871         basesink has been fixed.
873         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
874         Changed from gst_base_sink_is_prerolled, reversing the sense of
875         the return value. Returns FALSE also if the sink is in pull mode,
876         in which case it needs no preroll.
877         (gst_base_sink_query, gst_base_sink_change_state): Update for
878         needs_preroll change.
879         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
880         chaining up, in which we return SUCCESS directly if we activated
881         in pull mode instead of ASYNC. Involves countering an async_start
882         message sent before chaining up; not sure if this is correct, in
883         an ideal world we only send async-start when activating in push
884         mode.
886         * tests/check/pipelines/simple-launch-lines.c
887         (test_state_change_returns): New test, partially disabled until
888         basesink is fixed.
890 2007-06-19  Wim Taymans  <wim@fluendo.com>
892         * plugins/elements/gstmultiqueue.c: (apply_buffer),
893         (gst_multi_queue_sink_event):
894         Fix event leak.
896 2007-06-19  Wim Taymans  <wim@fluendo.com>
898         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
899         (gst_bin_change_state_func), (bin_push_state_continue),
900         (bin_handle_async_start), (bin_handle_async_done),
901         (gst_bin_handle_message_func):
902         Move the common code for posting state-change messages into
903         one function.
904         Broadcast the state signal after we posted the messages.
905         Mark the bin as busy when it's doing a state-change.
906         Make sure async-start/done messages don't interfere with the bin's
907         state when it's busy.
908         After the state change, let the bin check which elements completed the
909         state change while it was busy so that it can update its state.
911 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
913         * docs/random/release:
914         Add a note about updating the doap file to the release checklist
916 2007-06-18  Wim Taymans  <wim@fluendo.com>
918         * plugins/elements/gstmultiqueue.c: (apply_buffer),
919         (gst_single_queue_push_one), (gst_multi_queue_chain),
920         (gst_multi_queue_sink_event):
921         Make sure we don't reference the buffer/event after we have given away
922         ownership in the queue.
924 2007-06-18  Wim Taymans  <wim@fluendo.com>
926         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
927         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
928         Update queue state _after_ adding the item in the queue because else we
929         could end up being full without the element added yet.
931 2007-06-18  Wim Taymans  <wim@fluendo.com>
933         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
934         (gst_bin_remove_func), (gst_bin_get_state_func),
935         (gst_bin_element_set_state), (gst_bin_continue_func),
936         (bin_push_state_continue), (bin_handle_async_start),
937         (bin_handle_async_done), (gst_bin_handle_message_func):
938         * gst/gstbin.h:
939         Immediatly commit the toplevel bin state when receiving an async-done
940         message. This enables us to avoid spawning a thread to commit the state
941         in some common cases and it also avoids some races.
942         Avoid spawning a state thread when adding/removing async elements to a
943         toplevel bin. Instead we immediatly update the bin state.
944         Get rid of iterating all the children when getting the state in the bin
945         because it is now always up-to-date.
946         Fix bug where locked elements would always return _SUCCESS even it they
947         returned NO_PREROLL before being locked.
948         Fix the order of the state_change, async-start/done messages that was
949         sometimes incorrect.
950         Mark the state_dirty field as deprecated, we don't need it anymore as we
951         are always up-to-date.
953         * gst/gstelement.c: (gst_element_get_state_func),
954         (gst_element_continue_state):
955         Small debug inprovements.
956         Return the previous element state return when nothing is pending instead
957         of blindly returning SUCCESS.
959         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
960         (gst_sinks_suite):
961         Add a whole bunch of new testcases.
963 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
965         * po/uk.po:
966         * po/vi.po:
967           Update translations.
969 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
971         * gst/gstpad.c:
972         Fix typo in the docs.
974 2007-06-15  Wim Taymans  <wim@fluendo.com>
976         * docs/libs/gstreamer-libs-sections.txt:
977         Add docs for new methods.
979 2007-06-15  Wim Taymans  <wim@fluendo.com>
981         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
982         (gst_multi_queue_item_new):
983         Don't use GSlice because we don't depend on >= 2.10 yet.
985 2007-06-15  Wim Taymans  <wim@fluendo.com>
987         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
988         (update_time_level), (apply_segment), (apply_buffer),
989         (gst_single_queue_push_one), (gst_multi_queue_item_new),
990         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
991         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
992         (single_queue_underrun_cb), (single_queue_check_full):
993         Remove debug printf.
995 2007-06-15  Wim Taymans  <wim@fluendo.com>
997         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
998         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
999         (gst_data_queue_set_flushing), (gst_data_queue_push),
1000         (gst_data_queue_pop), (gst_data_queue_drop_head),
1001         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
1002         * libs/gst/base/gstdataqueue.h:
1003         Various cleanups.
1004         Added methods to get the current levels and to inform the queue that the
1005         'full' limits changed.
1007         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
1008         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
1009         (gst_single_queue_flush), (update_time_level), (apply_segment),
1010         (apply_buffer), (gst_single_queue_push_one),
1011         (gst_multi_queue_item_steal_object),
1012         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
1013         (gst_multi_queue_loop), (gst_multi_queue_chain),
1014         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
1015         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
1016         (gst_multi_queue_src_query), (single_queue_overrun_cb),
1017         (single_queue_underrun_cb), (single_queue_check_full),
1018         (gst_single_queue_new):
1019         Keep track of time in the queue by measuring the difference between
1020         running_time on input and output. This gives more accurate results and
1021         can compensate for segments correctly.
1022         Make a queue by default only 5 buffers deep. We will now increase the
1023         buffer size depending on the filledness of the other queues.
1024         Factor out commong flush code.
1025         Make sure we don't add additional refcounts to buffers when we can avoid
1026         it.
1027         Propagate GstFlowReturn differently.
1028         Use GSlice for intermediate GstMultiQueueItems.
1029         Keep track of EOS.
1030         Resize queues on over and underruns based on filled level of other
1031         queues.
1032         When checking if the queue is filled, prefer to measure in time if we
1033         can and fall back to bytes when no time is known.
1035         * plugins/elements/gstqueue.c:
1036         Fix return value.
1038 2007-06-15  Wim Taymans  <wim@fluendo.com>
1040         * libs/gst/base/gstbasetransform.c:
1041         (gst_base_transform_sink_event):
1042         Work around the brokenness of the event vmethod in basetransform. Prefer
1043         to return TRUE when the subclass returned FALSE (meaning don't forward
1044         the event). 
1046         * libs/gst/base/gstbasetransform.h:
1047         Clarify the docs.
1049 2007-06-15  Wim Taymans  <wim@fluendo.com>
1051         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
1052         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1053         (gst_base_src_default_query), (gst_base_src_get_range),
1054         (gst_base_src_start):
1055         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
1056         Improve debugging.
1058 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1060         * docs/pwg/advanced-types.xml:
1061           Added more formats to caps table.
1063 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
1065         * tools/gst-launch.c: (main):
1066           Remove crufy code. GOption does not need this workaround.
1068 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1070         * libs/gst/controller/gstcontroller.c:
1071         (gst_controlled_property_set_interpolation_mode):
1072           Fix wrong getter for enums in controller.
1074 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1076         * libs/gst/check/gstcheck.c: (gst_check_init):
1077           Intercept criticals and warnings in the Gst-Phonon log domain, so
1078           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
1079           well.
1080         
1081 2007-06-14  Edward Hervey  <edward@fluendo.com>
1083         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
1084         Since this file doesn't include "gst.h" it will not go through the
1085         macros that disable GST_LOG if debugging was disabled.
1087 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1089         * libs/gst/check/Makefile.am:
1090         * libs/gst/check/gstcheck.h:
1091         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1092         * pkgconfig/gstreamer-check.pc.in:
1093           Ugly 'fix' for the controller unit test on the p5 bot: in
1094           fail_unless_equals_float() check whether the values are 'almost
1095           equal' by allowing a small absolute error, which should be good
1096           enough for our use cases (normal numbers and values close to 0).
1097           Proper fixage left to floating point arithmetic aficionados.
1099 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1101         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
1102         (gst_base_sink_render_object), (gst_base_sink_get_position):
1103           Add two breaks thats where missing.
1105 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1107         * docs/libs/gstreamer-libs-sections.txt:
1108         * libs/gst/check/gstcheck.h:
1109           API: add fail_unless_equals_float() and assert_equals_float().
1110           Add documentation for some of the macros.
1112         * tests/check/libs/controller.c: (GST_START_TEST):
1113           Use newly-added asserts.
1115 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
1117         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
1118           Show the caps change in the log to help spotting the case of not
1119           exactly matching caps.
1121 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
1123         * docs/pwg/building-boiler.xml:
1124           Fix typos, spotted by Thijs Vermeir (#447190).
1126 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
1128         * docs/plugins/tmpl/.cvsignore:
1129         Ignore file to keep the buildbots happy
1131 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
1133         * docs/plugins/Makefile.am:
1134         * docs/plugins/gstreamer-plugins-docs.sgml:
1135         * docs/plugins/gstreamer-plugins-sections.txt:
1136         Pull fdsink into the docs too.
1138 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
1140         * libs/gst/controller/gstinterpolation.c:
1141         Actually use the new functions with min/max checks for the trigger and
1142         none interpolation modes for get() and get_value_array() instead of
1143         just the latter.
1145 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
1147         * libs/gst/controller/gstcontroller.c:
1148         (gst_controlled_property_free):
1149         Unset the minimum and maximum GValues when freeing the corresponding
1150         GstControllerProperty struct.
1152 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
1154         * libs/gst/controller/gstcontroller.c:
1155         (gst_controlled_property_new):
1156         * libs/gst/controller/gstcontrollerprivate.h:
1157         * libs/gst/controller/gstinterpolation.c:
1158         (gst_controlled_property_find_control_point_node),
1159         (interpolate_none_get), (interpolate_none_get_enum_value_array),
1160         (interpolate_none_get_string_value_array),
1161         (interpolate_trigger_get),
1162         (interpolate_trigger_get_enum_value_array),
1163         (interpolate_trigger_get_string_value_array):
1164         Protect against values larger or smaller than the minimum or maximum
1165         allowed value for the property when using values that can be compared.
1167         Optimize trigger interpolator a bit by taking the last requested value
1168         into account instead of always looping through the complete list.
1170         Fix coding style a bit, everywhere else we use "return foo" instead
1171         of "return (foo)".
1172         
1173         * tests/check/libs/controller.c: (GST_START_TEST),
1174         (gst_controller_suite):
1175         Add unit test for the protection against too large or too small
1176         values.
1178 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
1180         * docs/random/slomo/controller.txt:
1181         Add some thoughts about the future of the controller.
1183 2007-06-08  Wim Taymans  <wim@fluendo.com>
1185         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1186         Don't overflow in retimestamping code.
1188 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
1190         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
1191         Use gst_util_guint64_to_gdouble for conversions.
1192         * win32/common/libgstreamer.def:
1193         Add new exported functions.
1195 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
1197         * gst/gstutils.c:
1198           Small docs addition.
1200 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1202         * README:
1203           Remove that test line again.
1205 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1207         * README:
1208           Test commit mail sending.
1210 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1212         * configure.ac:
1213           Fix typo and test commit mail sending.
1215 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
1217         * tests/examples/controller/audio-example.c:
1218           Improve comment and test commit mail sending.
1220 2007-06-07  Wim Taymans  <wim@fluendo.com>
1222         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
1223         (gst_bin_remove_func), (gst_bin_element_set_state),
1224         (bin_handle_async_start), (bin_handle_async_done),
1225         (gst_bin_handle_message_func):
1226         Add helper function to find messages.
1227         Generate the async-done messages together with the state change
1228         messages.
1229         Small cleanups in handling toplevel bins.
1231 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1233         * libs/gst/base/gstdataqueue.c:
1234         * libs/gst/base/gstdataqueue.h:
1235         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
1236         (gst_multi_queue_item_new), (gst_multi_queue_chain),
1237         (gst_multi_queue_sink_event):
1238         * tests/check/elements/multiqueue.c: (multiqueue_suite):
1239           Fix multiqueue leaking buffers and events when downstream or the
1240           queue are flushing. Make refcounting assumptions explicit and
1241           document them (shouldn't break existing code that uses it other than
1242           maybe leak miniobjects, but that already happens anyway). Add unit
1243           test for the most common flushing case. Fixes #423700.
1244           
1245 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
1247         * libs/gst/controller/gstcontroller.c:
1248         Clarify docs: The get_all, get_value_array(s) functions
1249         don't modify the GObject properties.
1251 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
1253         * libs/gst/controller/gstcontroller.c:
1254         (gst_controlled_property_set_interpolation_mode),
1255         (gst_controlled_property_prepend_default),
1256         (gst_controlled_property_new), (gst_controller_set_unlocked),
1257         (gst_controller_set), (gst_controller_set_from_list),
1258         (gst_controller_unset), (gst_controller_unset_all):
1259         * libs/gst/controller/gstcontrollerprivate.h:
1260         * libs/gst/controller/gstinterpolation.c:
1261         Factor out the 'set' logic into gst_controller_set_unlocked for the
1262         gst_controller_set and gst_controller_set_from_list functions.
1264         To make life of the interpolators easier always add a control point
1265         at timestamp zero with the default value.
1267         In the linear interpolator make things more obvious by better variable
1268         naming (slope).
1270         Implement cubic interpolation mode (by using a natural cubic spline)
1271         and map the quadratic interpolation mode to this too (as quadratic
1272         doesn't make much sense, see discussion on the list).
1274         * tests/check/libs/controller.c: (GST_START_TEST),
1275         (gst_controller_suite):
1276         Add unit test for the cubic interpolation mode and check everywhere
1277         if the interpolation mode could be set as expected.
1279 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1281         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
1282           Don't use GLib-2.10 functions, we still depend on
1283           GLib-how-old-is-it-again-2.8.
1285 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
1287         * docs/gst/gstreamer-sections.txt:
1288         * gst/Makefile.am:
1289         * gst/gst.c:
1290         * gst/gst.h:
1291         * gst/gstparamspecs.c: (_gst_param_fraction_init),
1292         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
1293         (_gst_param_fraction_values_cmp),
1294         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
1295         * gst/gstparamspecs.h:
1296         * gst/gstvalue.c:
1297         * tests/check/Makefile.am:
1298         * tests/check/gst/.cvsignore:
1299         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
1300         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
1301         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
1302         (GST_START_TEST), (gst_param_spec_suite):
1303           API: add GstParamSpecFraction, so elements can have fraction
1304           properties without lots of painful string parsing (#444648).
1306 2007-06-05  Wim Taymans  <wim@fluendo.com>
1308         * gst/gstobject.c: (gst_object_class_init):
1309         Fix signal signature.
1311         * gst/gstsegment.c:
1312         Add small clarification in the api docs.
1314         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
1315         States are protected with object lock.
1317 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
1319         * AUTHORS:
1320         I should probably be listed as an author by now.
1322         * docs/random/release:
1323         Update the release doc
1325 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
1327         * gst/gstvalue.c:
1328           Make docs for gst_value_compare() mention return enums that
1329           actually exist.
1331 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
1333         * configure.ac:
1334           Back to CVS
1336 === release 0.10.13 ===
1338 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
1340         * configure.ac:
1341           releasing 0.10.13, "With or without you"
1343 2007-05-25  Wim Taymans  <wim@fluendo.com>
1345         * gst/gstbin.c: (bin_handle_async_done):
1346         Make sure that the child bin stops after completing the async state
1347         change so that the parent can continue the state change to PLAYING.
1348         Fixes #441159.
1350 2007-05-25  Wim Taymans  <wim@fluendo.com>
1352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1353         (unref_data), (gst_collect_pads_remove_pad),
1354         (gst_collect_pads_check_pads):
1355         Use additional refcounting to avoid crashes when dynamically adding and
1356         removing pads. Fixes #420206.
1358 2007-05-24  Wim Taymans  <wim@fluendo.com>
1360         * tools/gst-launch.c: (event_loop):
1361         When buffering goes from a two digit to a single digit number, make sure
1362         to remove the old second digit by writing a blank over it.
1364 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1366         * libs/gst/base/gstdataqueue.c:
1367           Eliminate tabs and trailing comma in enum list; fix some typos.
1369 2007-05-24  Wim Taymans  <wim@fluendo.com>
1371         * tests/check/gst/gstbin.c: (GST_START_TEST):
1372         Allow refcount of 3 and 4 because some state thread might still be busy
1373         with it.
1375 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1377         * plugins/elements/Makefile.am:
1378         * plugins/elements/gstmultiqueue.h:
1379         * plugins/elements/gstqueue.h:
1380           These are not installed headers, no need for padding.
1382 2007-05-24  Wim Taymans  <wim@fluendo.com>
1384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
1385         (gst_bin_continue_func):
1386         Enable latency for next release.
1387         Restore STATE_LOCK around recalc_state that was left out during the
1388         rewrite and could result in racy behaviour when _get_state and
1389         recalc_state are run concurrently. See #440463.
1391 2007-05-23  Wim Taymans  <wim@fluendo.com>
1393         * tests/check/gst/gstsystemclock.c: (store_callback),
1394         (GST_START_TEST):
1395         Improve test_async_order to also work when both timers are already
1396         expired when we get scheduled to check it.
1398 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
1400         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
1401         (gst_bin_set_property), (gst_bin_get_property),
1402         (gst_bin_remove_func), (gst_bin_handle_message_func):
1403         * gst/gstbin.h:
1404           'private' is a c++ keyword, let's not use that in header files,
1405           otherwise c++ compilers will throw a tantrum.
1407 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
1409         * plugins/elements/gstelements.c:
1410         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
1411         (gst_file_sink_get_current_offset):
1412         * plugins/indexers/gstindexers.c: (plugin_init):
1413           Use #ifdef for HAVE_XYZ for consistency.
1415         * tests/check/Makefile.am:
1416         * tests/check/elements/.cvsignore:
1417         * tests/check/elements/filesink.c: (setup_filesink),
1418         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
1419           Add some unit tests for filesink.
1421 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
1423         Patch by: Mark Nauwelaerts <manauw at skynet be>
1425         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1426         (gst_file_sink_query), (gst_file_sink_do_seek),
1427         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1428         * plugins/elements/gstfilesink.h:
1429           Fix position reporting; rename data_written member to current_pos to
1430           reflect its real meaning (fixes #412648).
1432 2007-05-22  Edward Hervey  <edward@fluendo.com>
1434         * docs/gst/gstreamer-sections.txt:
1435         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1436         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
1437         (gst_bin_remove_func), (gst_bin_handle_message_func):
1438         * gst/gstbin.h:
1439         Add a property for bins that handle the state change of their childs.
1440         Fixes #435880
1442 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1444         * libs/gst/controller/gstinterpolation.c:
1445         Use an array of the correct type when using _get_value_array with
1446         linear interpolation.
1448 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
1450         * gst/gstelement.c (gst_element_requires_clock,
1451           gst_element_provides_clock, gst_element_request_pad,
1452           gst_element_class_set_details, gst_element_class_set_details_simple,
1453           gst_element_default_send_event, gst_element_abort_state,
1454           gst_element_continue_state, gst_element_set_state,
1455           gst_element_set_state_func, iterator_activate_fold_with_resync):
1456         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
1457           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
1458           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
1459           gst_pad_get_range, gst_pad_pull_range):
1460         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
1461           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
1462           GstPadActivateModeFunction, GstPadChainFunction,
1463           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
1464           GstPadFixateCapsFunction, GstPadTemplate):
1465         * gst/gstpipeline.c (gst_pipeline_change_state,
1466           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
1467           gst_pipeline_set_clock, gst_pipeline_auto_clock,
1468           gst_pipeline_get_delay):
1469           Whitespace and docs fixes.
1471 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1473         * libs/gst/controller/gstinterpolation.c:
1474         (interpolate_trigger_get_enum_value_array),
1475         (interpolate_trigger_get_string_value_array):
1476         Add support for retrieving value arrays when using the trigger
1477         interpolation mode. 
1479 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1481         * libs/gst/controller/gstcontroller.c:
1482         (gst_controller_get_value_array):
1483         * libs/gst/controller/gstcontroller.h:
1484         Clarify the docs of gst_controller_get_value_array(): The array where
1485         the values should be written to must be allocated as there seems to be
1486         no way to get the size of a random GType. This doesn't change any
1487         behaviour. Also fix some typos all over the place and remove an unused,
1488         commented function that is not necessary as g_object_set() could be
1489         used instead.
1490         * tests/check/libs/controller.c: (GST_START_TEST),
1491         (gst_controller_suite):
1492         Add unit test for gst_controller_get_value_array().
1494 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
1496         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1498         Disable part of the gst_buffer_try_new_and_alloc test, because
1499         it can happily succeed on 64-bit systems where there's more address
1500         space available.
1502 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1504         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1505         Add unit test for the improved caps checking from bug #421543.
1507 2007-05-21  Wim Taymans  <wim@fluendo.com>
1509         * docs/design/part-synchronisation.txt:
1510         Small addition.
1512         * gst/gstbin.c: (gst_bin_query):
1513         * plugins/elements/gstqueue.c: (apply_segment):
1514         Improve debugging.
1516         * gst/gstmessage.h:
1517         Improve docs.
1519 2007-05-21  Wim Taymans  <wim@fluendo.com>
1521         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
1522         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
1523         (gst_pad_configure_src):
1524         Added simple version of improved caps checking. It was previously
1525         assumed that a setcaps function would check the validity of the caps but
1526         people prefer us to check caps against the template automatically. 
1527         Fixes #421543.
1529 2007-05-21  Wim Taymans  <wim@fluendo.com>
1531         * libs/gst/base/gstbasetransform.h:
1532         Fix macro for locking/unlocking the transform lock.
1534 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1536         * docs/plugins/tmpl/.cvsignore:
1537           Ignore more.
1539 2007-05-18  Edward Hervey  <edward@fluendo.com>
1541         * plugins/elements/gstqueue.c: (gst_queue_loop):
1542         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
1543         for the subtle art of warning a potentially blocking thread that it
1544         should check the source pad return value, and relay the information
1545         upstream.
1547 2007-05-18  Edward Hervey  <edward@fluendo.com>
1549         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1550         Release the queue lock !
1552 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1554         * docs/libs/gstreamer-libs-sections.txt:
1555         Add the two new controller functions to the appropiate places.
1557 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1559         reviewed by: Stefan Kost <ensonic@users.sf.net>
1561         * libs/gst/controller/gstcontroller.c:
1562         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
1563         (_gst_controller_get_property), (_gst_controller_set_property),
1564         (_gst_controller_init), (_gst_controller_class_init):
1565         * libs/gst/controller/gstcontroller.h:
1566         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
1567         (gst_object_get_control_rate), (gst_object_set_control_rate):
1568         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
1569         Add API that provides sync suggestion timestamps for elements that
1570         call gst_object_sync_values() from which those elements can subdivide
1571         their processing loop to get the best results for the controlled
1572         properties. For now it just suggests last_sync + control_rate as
1573         new timestamp but this will be improved in the future.
1575         While doing that change the control-rate property to a GstClockTime
1576         from guint and change it's meaning from samples to nanoseconds as
1577         the GstController doesn't know anything about sampling rate. Strictly
1578         speaking this breaks ABI but as the control-rate property didn't do
1579         anything in the past and as such couldn't be used this should be no
1580         problem.        
1582 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1584         reviewed by: Stefan Kost <ensonic@users.sf.net>
1586         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1587         (gst_controller_unset_all):
1588         * libs/gst/controller/gstcontrollerprivate.h:
1589         * libs/gst/controller/gstinterpolation.c:
1590         (gst_controlled_property_find_control_point_node):
1591         Save last synced value from the list to continue searching from there
1592         in future syncs. This speeds everything up a bit.
1593         
1594 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1596         reviewed by: Stefan Kost <ensonic@users.sf.net>
1598         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
1599         (gst_control_point_find), (gst_controlled_property_new),
1600         (gst_control_point_free), (gst_controlled_property_free),
1601         (gst_controller_set), (gst_controller_set_from_list),
1602         (gst_controller_unset), (gst_controller_unset_all),
1603         (gst_controller_sync_values):
1604         * libs/gst/controller/gstcontroller.h:
1605         * libs/gst/controller/gstcontrollerprivate.h:
1606         * libs/gst/controller/gstinterpolation.c:
1607         (gst_controlled_property_find_control_point_node),
1608         (interpolate_none_get), (interpolate_trigger_get):
1609         Add a new private GstControlPoint struct which "inherits" from
1610         GstTimedValue to allow different interpolators to store internal
1611         values next to each control point. From the outside everything is
1612         still a GstControlPoint so we don't loose binary compatibility.
1613         Also fixup all the GValue handling to not leak GValues or list nodes.
1614         * tests/check/libs/controller.c: (GST_START_TEST):
1615         Free the list nodes and GValues in the controller_misc test.
1617 2007-05-17  Edward Hervey  <edward@fluendo.com>
1619         * gst/gstsegment.c:
1620         Small doc fix.
1622 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1624         * gst/gstplugin.c: (gst_plugin_load_file):
1625           If we fail to load a plugin because of unresolved symbols or missing
1626           libraries and spew a warning to stderr, we may just as well mention
1627           which plugin it was that failed to load.
1629 2007-05-13  David Schleef  <ds@schleef.org>
1631         * docs/Makefile.am: the gtk-doc makefile snippet correctly
1632           handles the case when ENABLE_GTK_DOC is false, and installs
1633           the prebuilt documentation.  So gtk-doc subdirs are 
1634           unconditionally enabled.  Fixes: #349099.
1636 2007-05-13  David Schleef  <ds@schleef.org>
1638         * gst/gstutils.h: Reword some documentation.
1640 2007-05-12  David Schleef  <ds@schleef.org>
1642         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
1643           do anything with the passed "module" parameter, so remove it.
1644           Allows removal of additional vestigal code.
1646 2007-05-12  David Schleef  <ds@schleef.org>
1648         * gst/gstplugin.c:
1649           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
1650           Switch to using g_stat() because it's more portable.
1652 2007-05-12  David Schleef  <ds@schleef.org>
1654         * gst/gst.c:
1655           Add GST_DISABLE_OPTION_PARSING, in order to disable option
1656           parsing for embedded systems.
1657         * gst/gstelementfactory.c:
1658           Allow gst_element_register() to be called with plugin==NULL.
1659           Did nobody notice that static elements were broken?
1661 2007-05-12  Wim Taymans  <wim@fluendo.com>
1663         * tools/gst-launch.c: (event_loop):
1664         Give more interesting info when buffering starts and stops.
1665         Fix case where buffering starts but we fail to update the buffering flag
1666         because the target state is not PLAYING.
1668 2007-05-12  Wim Taymans  <wim@fluendo.com>
1670         * plugins/elements/gstqueue.c: (gst_queue_init),
1671         (gst_queue_finalize), (update_time_level), (apply_segment),
1672         (apply_buffer), (gst_queue_locked_flush),
1673         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
1674         (gst_queue_handle_sink_event), (gst_queue_chain),
1675         (gst_queue_push_one), (gst_queue_loop):
1676         * plugins/elements/gstqueue.h:
1677         Refactor an cleanup queue a bit.
1678         Do better time level calculations that also work when the srcpad is not
1679         yet running.
1680         Remove some unneeded debug lines.
1682         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
1683         Added testcase for time level measurement.
1684         Try to make some stuff more racefree.
1686 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1688         * gst/gsturi.c: (gst_element_make_from_uri):
1689           Don't leak plugin feature.
1691         * tests/check/Makefile.am:
1692         * tests/check/gst/.cvsignore:
1693         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
1694           Add brain-dead unit test.
1696 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
1698         Patch by: Jeroen Wouters <woutersj at gmail com>
1700         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
1701           Treat protocol strings in a case-insensitive way (#437563).
1703 2007-05-11  Michael Smith <msmith@fluendo.com>
1705         * gst/gstplugin.c: (gst_plugin_load_file):
1706         * gst/gstregistry.c: (gst_registry_scan_path_level):
1707           Don't print a g_warning for any failure to load a shared object.
1708           Instead, push this down into gstplugin.c, and warn _only_ if we
1709           failed to open the module (i.e. failure to link).
1710           Avoids warnings on normal, working, non-plugin .so files.
1712 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
1714         * gst/gstplugin.c (gst_plugin_load_file):
1715         * gst/gstregistry.c (GST_CAT_DEFAULT,
1716           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
1717           Print a g_warning if there was an error when loading a plugins during
1718           registry scan. The shuld help beginners starting with gst-plugin
1719           template.
1721 2007-05-10  Wim Taymans  <wim@fluendo.com>
1723         * plugins/elements/gstqueue.c: (gst_queue_class_init),
1724         (update_time_level), (gst_queue_locked_flush),
1725         (gst_queue_handle_sink_event), (gst_queue_chain),
1726         (gst_queue_push_one), (gst_queue_loop):
1727         * plugins/elements/gstqueue.h:
1728         Be smarter when calculating the current amount of data in the queue by
1729         measuring the difference between start and end timestamps (in running
1730         time) inside the queue. Fixes #432876.
1731         API: GstQueue::pushing to notify elements that we are pushing data again
1732         since the running signal is rather broken for this purpose.
1734 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
1736         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
1737           gst_queue_base_init, gst_queue_init):
1738           use GST_BOILERPLATE
1740 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
1742         * win32/common/libgstreamer.def:
1743         Add new exported functions.
1744         * win32/vs6/grammar.dsp:
1745         Use grammar pre-generated files.
1747 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1749         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
1751         * gst/Makefile.am:
1752         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
1753         * gst/gstparse.h:
1754         * gst/gstutils.c: (gst_parse_bin_from_description):
1755         * gst/gstutils.h:
1756           Maintain API and ABI when --disable-parse is used. Now that
1757           we have an appropriate error code, we can just return NULL and the
1758           appropriate error when gst_parse_launch() is used despite it having
1759           been disabled (#342564).
1761         * tests/check/Makefile.am:
1762         * tests/check/pipelines/.cvsignore:
1763         * tests/check/pipelines/parse-disabled.c:
1764           Make sure these functions exist and return NULL plus a GError when
1765           --disable-parse is used.
1767 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1769         * tests/benchmarks/complexity.c: (main):
1770         * tests/benchmarks/mass-elements.c: (main):
1771           Set a good example and don't leak messages.
1773 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
1775         * docs/gst/Makefile.am:
1776         * docs/libs/Makefile.am:
1777           Correct fixxrefs options.
1779         * docs/plugins/Makefile.am:
1780         * docs/plugins/gstreamer-plugins-docs.sgml:
1781         * docs/plugins/gstreamer-plugins-sections.txt:
1782         * plugins/elements/Makefile.am:
1783         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
1784         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
1785           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
1786           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
1787           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
1788           _GstCapsFilterClass, trans_class):
1789         * plugins/elements/gstelements.c (name, rank, type, _elements):
1790         * plugins/elements/gstidentity.c
1791           (gst_identity_check_imperfect_timestamp,
1792           gst_identity_check_imperfect_offset):
1793           Document capsfilter and add doc-blurb to identity.
1795 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1797         * libs/gst/controller/gstcontroller.c:
1798         (gst_controlled_property_set_interpolation_mode):
1799         * libs/gst/controller/gstinterpolation.c:
1800           Don't crash if someone tries to set an interpolation mode that
1801           is invalid or that isn't supported yet. Fixes #422295.
1803         * tests/check/libs/controller.c: (GST_START_TEST),
1804         (gst_controller_suite):
1805           Add a test case for the above.
1807 2007-05-03  Edward Hervey  <edward@fluendo.com>
1809         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
1810         Properly set the last_stop position on GstSegment. This will only happen
1811         if there is a buffer to push out.
1813 2007-05-03  Wim Taymans  <wim@fluendo.com>
1815         * libs/gst/base/gstbasetransform.c:
1816         (gst_base_transform_buffer_alloc):
1817         always_in_place does not mean that the sink and source caps are the
1818         same! Make sure we don't blindly proxy the buffer_alloc in this case.
1820 2007-05-03  Wim Taymans  <wim@fluendo.com>
1822         * docs/libs/gstreamer-libs-sections.txt:
1823         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1824         (gst_base_src_default_query), (gst_base_src_get_range):
1825         * libs/gst/base/gstbasesrc.h:
1826         API: gst_base_src_query_latency(). Added method so that subclasses can
1827         easily get the latency values of the base source class.
1829 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
1831         * tools/gst-inspect.c (print_implementation_info):
1832         Remove 0.8 cruft.
1834 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
1836         * tools/Makefile.am:
1837         * tools/gst-launch.1.in:
1838           Don't create a customised man page based on the host architecture,
1839           describe the default registry path generically. That way the man
1840           page is the same for all architectures and packagers have one
1841           multilib issue less to deal with. Fixes #434926.
1843 2007-05-02  Wim Taymans  <wim@fluendo.com>
1845         * gst/gstpad.c:
1846         Fix documentation as spotted by rg on IRC. 
1848 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
1850         * gst/gstutils.c:
1851           Improve docs for gst_element_{link,unlink}.
1853 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
1855         * docs/design/part-events.txt:
1856         * docs/design/part-overview.txt:
1857         * gst/gstevent.c:
1858         * gst/gsturi.c:
1859         * gst/gsturi.h:
1860         * libs/gst/base/gstbasesink.c:
1861           Typo fixes; minor docs addition.
1863 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1865         * docs/gst/gstreamer-sections.txt:
1866         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
1867         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
1868         * gst/gsturi.h:
1869         API: Add gst_uri_protocol_is_supported(), which checks if a sink
1870         or src that supports a given URI protocol exists.
1872 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1874         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1875         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1876         Set the location to NULL if "file://" is set as URI. Otherwise
1877         some random previous URI would still be set if "file://" is
1878         set on an already used filesink/filesrc.
1880 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
1882         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1883         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1884         Special case the "file://" URI as as this is used by some
1885         applications to test with gst_element_make_from_uri if there's
1886         an element that supports the URI protocol.
1887         Also move the g_path_is_absolute() check for the location part
1888         of the URI to also check this for "file://localhost/bla" URIs.
1890 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
1892         * docs/gst/gstreamer-sections.txt:
1893         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
1894         * gst/gstbuffer.h:
1895         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1896         (gst_buffer_suite):
1897           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
1899 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
1901         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
1902         (gst_registry_binary_load_pad_template),
1903         (gst_registry_binary_load_plugin),
1904         (gst_registry_binary_read_cache):
1905         * gst/gstregistrybinary.h:
1906           Implement no-mmap alternative for registry reading. Do code cleanups.
1907           Add more comments about avoiding strdups for all text data. Comments
1908           welcome.
1910 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1912         * gst/gstregistrybinary.h (GstBinaryPluginElement,
1913           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
1914           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
1915           Comment structs and reformat to fix the build (that stuff should go
1916           into a priv. header).
1918 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
1920         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1921         (gst_registry_binary_load_feature):
1922         * gst/gstregistrybinary.h:
1923           Refactor so that we can implement multiple features. Add support for
1924           TypeFindFactory features.
1926 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
1928         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
1930         * configure.ac:
1931           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
1933 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
1935         * gst/gstbin.c: (gst_bin_element_set_state),
1936         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
1937         (bin_handle_async_done), (gst_bin_handle_message_func):
1938           Fix build with --gst-disable-gst-debug
1940 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1942         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
1943           Make sure streaming has finished before calling the ::stop() vfunc,
1944           since that vfunc might clear state which is being used in the
1945           streaming thread. This fixes a race that caused crashes in
1946           audioresample when shutting down a pipeline (#420106).
1948 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1950         * docs/gst/gstreamer-sections.txt:
1951           That was one byte missing.
1953 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1955         * configure.ac:
1956         * docs/gst/gstreamer-sections.txt:
1957         * gst/Makefile.am:
1958         * gst/gstconfig.h.in:
1959         * gst/gstobject.c: (gst_object_class_init),
1960         (gst_signal_object_class_init):
1961         * gst/gstobject.h:
1962           2nd attempt to have a xml-less build as a joined effort of #413123
1963           and #421480.
1965 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
1967         * docs/design/draft-tagreading.txt:
1968           Added open issues/thoughts to draft.
1970 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1972         * gst/parse/grammar.tab.pre.c:
1973         * gst/parse/grammar.tab.pre.h:
1974         * gst/parse/lex._gst_parse_yy.pre.c:
1975         Update the prebuild parser sources.
1977 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1979         * gst/parse/Makefile.am:
1980         And now fix the building of the flex sources. Now everything should
1981         work as expected.
1983 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1985         * gst/parse/Makefile.am:
1986         Now hopefully fix the build failures by setting proper rule
1987         dependencies and moving instead of copying.
1989 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1991         * tests/benchmarks/complexity.gnuplot:
1992         * tests/benchmarks/complexity.scm:
1993         * tests/benchmarks/mass-elements.gnuplot:
1994         * tests/benchmarks/mass-elements.scm:
1995           Total licensification.
1997 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
1999         * gst/parse/Makefile.am:
2000           Fix the build by correcting the rule that gave wrong files to flex.
2002 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
2004         * tests/benchmarks/complexity.c:
2005         * tests/benchmarks/mass-elements.c:
2006           Change licence to LGPL as granted by Benjamin and Andy.
2008 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2010         * gst/parse/Makefile.am:
2011         Add correct grammar.tab.h dependency if compiling without new enough
2012         flex. Fixes #431150.
2014 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2016         * gst/parse/Makefile.am:
2017         Fix typo and use outdated sources if the flex/bison sources are newer
2018         than the pregenerated ones but flex is too old. Print a warning in
2019         that case. This should fix the build on the build bot.
2021 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
2023         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
2024         * gst/parse/Makefile.am:
2025         * gst/parse/grammar.y:
2026         * gst/parse/parse.l:
2027         Make the parser reentrant and recursively callable. This requires flex
2028         >= 2.5.31, for older versions pregenerated sources are used as we
2029         can't bump the build dependency. Finally fixes #349180.
2031         * gst/gstparse.c: (gst_parse_launch):
2032         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
2033         now anyway.
2035         * docs/gst/Makefile.am:
2036         * docs/gst/Makefile.am:
2037         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
2038         (__gst_parse_strfree), (__gst_parse_link_new),
2039         (__gst_parse_link_free), (__gst_parse_chain_new),
2040         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
2041         (gst_parse_element_set), (gst_parse_free_link),
2042         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
2043         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
2044         (_gst_parse_launch):
2045         * gst/parse/grammar.tab.pre.h:
2046         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
2047         (yy_get_previous_state), (yy_try_NUL_trans), (input),
2048         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
2049         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
2050         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
2051         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
2052         (_gst_parse_yypop_buffer_state),
2053         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
2054         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
2055         (yy_fatal_error), (_gst_parse_yyget_extra),
2056         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
2057         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
2058         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
2059         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
2060         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
2061         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
2062         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
2063         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
2064         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
2065         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
2066         (_gst_parse_yyfree):
2067         If the installed flex version is too old use pre-generated parser
2068         sources. These pre-generated parser sources are always updated when
2069         the actual flex/bison sources change but require everybody who wants
2070         to change something in the parser to have flex >= 2.5.31 installed.
2072 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
2074         * common/m4/gst-gettext.m4:
2075         * gst/gst-i18n-lib.h:
2076           Make --disable-nls to work
2078 2007-04-17  Wim Taymans  <wim@fluendo.com>
2080         * gst/gstconfig.h.in:
2081         Revert previous change that broke the build.
2083 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
2085         * configure.ac:
2086         * gst/Makefile.am:
2087         * gst/gstconfig.h.in:
2088           Drop libxml2 dependency when building with 
2089           --enable-binary-registry --disable-loadsave
2091 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
2093         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
2094         (gst_registry_binary_read_cache):
2095         * gst/gstregistrybinary.h:
2096           Remove unnecessary <sys/mman.h> include which broke the win32 build
2097           with MingW; move includes from header file to .c file, even if the
2098           header file isn't installed; use g_strerror() where UTF-8 strings
2099           are expected, such as in GST_DEBUG messages.
2101 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2103         * docs/libs/gstreamer-libs-sections.txt:
2104         Remove bogus addition for API I didn't end up keeping.
2106         * libs/gst/base/gstbasesrc.h:
2107         Mention Since: 0.10.13 in the documentation.
2109         Add the API keyword to the previous ChangeLog entry.
2111 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2113         * docs/libs/gstreamer-libs-sections.txt:
2114         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2115         (gst_base_src_default_prepare_seek_segment),
2116         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
2117         * libs/gst/base/gstbasesrc.h:
2118         Allow basesrc derived classes to execute seeks in other formats
2119         by providing a prepare_seek_segment vmethod. Sub-classes can choose
2120         to prepare the GstSegment in any format that their perform_seek method
2121         will be able to understand. The default implementation provides the
2122         old behaviour of attempting to convert the seek offsets to the 
2123         configured native format.
2125         API: basesrc::prepare_seek_segment vmethod.
2127 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2129         * gst/gstelement.c: (gst_element_get_state_func):
2130         Don't output the same debug statement twice.
2132         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
2133         (gst_adapter_peek), (gst_adapter_take_buffer):
2134         Optimise the case where we have buffers at the head of the queue that
2135         can be joined quickly (because they're contiguous sub-buffers) by
2136         merging them together rather than copying data out into new memory.
2138         * gst/parse/grammar.y:
2139         * tests/check/pipelines/parse-launch.c:
2140         Fix a leak in an error path for parse_launch, and add a check 
2141         for it to the testsuite.
2143 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
2145         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
2146           Don't deadlock when releasing a pad - gst_pad_set_active may try
2147           and take the multiqueue lock too.
2149 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2151         * gst/gsterror.c: (_gst_core_errors_init):
2152         * gst/gsterror.h:
2153           API: add GST_CORE_ERROR_DISABLED (#392804).
2155 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2157         * docs/faq/gst-uninstalled:
2158           don't get empty paths on the PATH variables
2159         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
2160           Don't format for the uncommon terminal width of 84 characters.
2162 2007-04-06  Wim Taymans  <wim@fluendo.com>
2164         * gst/gstpipeline.c: (reset_stream_time),
2165         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
2166         Only try to select a different pipeline clock when we went back to
2167         PAUSED and not when we merely got flushed.
2169 2007-04-05  Michael Smith  <msmith@fluendo.com>
2171         * tools/gst-launch.1.in:
2172           fractions are better supported in gstreamer than ractions, so
2173           suggest using those.
2175 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2177         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
2179         * po/LINGUAS:
2180         * po/da.po:
2181           Added Danish translation.
2183 2007-04-05  Wim Taymans  <wim@fluendo.com>
2185         * libs/gst/base/gstbasesink.c:
2186         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
2187         Fix leak caused when refusing newsegment after EOS.
2189         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2190         (gst_fake_sink_init), (gst_fake_sink_set_property),
2191         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
2192         (gst_fake_sink_render), (gst_fake_sink_change_state):
2193         * plugins/elements/gstfakesink.h:
2194         Add num-buffers property to make the element generate EOS after a
2195         configurable amount of buffers.
2196         API: fakesink::num-buffers property.
2198         * tests/check/elements/fakesink.c: (GST_START_TEST),
2199         (fakesink_suite):
2200         Fix GstBus leak in test.
2201         Test for fakesink num-buffers.
2203 2007-04-05  Wim Taymans  <wim@fluendo.com>
2205         * libs/gst/base/gstbasesink.c:
2206         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2207         (gst_base_sink_change_state):
2208         Don't accept anything after an EOS, return UNEXPECTED instead.
2210         * tests/check/elements/fakesink.c: (GST_START_TEST),
2211         (fakesink_suite):
2212         Unit test for new EOS behaviour.
2214 2007-04-05  Wim Taymans  <wim@fluendo.com>
2216         * gst/gstelement.c: (gst_element_get_request_pad):
2217         Make padtemplates also work when they don't contain %s or %d.
2219 2007-04-05  Wim Taymans  <wim@fluendo.com>
2221         * docs/gst/gstreamer-sections.txt:
2222         * gst/gstclock.c: (gst_clock_adjust_unlocked),
2223         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
2224         * gst/gstclock.h:
2225         Improve _adjust_unlocked() so that it overflows less.
2226         Add gst_clock_unadjust_unlocked to convert from external time to
2227         internal time based on calibration.
2228         Add some more debug.
2229         API: GstClock::gst_clock_unadjust_unlocked()
2231 2007-04-03  Wim Taymans  <wim@fluendo.com>
2233         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2235         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
2236         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
2237         when releasing sink pad. Fixes #425400.
2239 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
2241         * docs/random/ensonic/dynlink.txt:
2242           More work on proposal for new core api.
2244         * docs/libs/gstreamer-libs-sections.txt:
2245         * libs/gst/base/gstbasetransform.h:
2246           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
2247           
2248         * libs/gst/controller/gstcontroller.c:
2249         (on_object_controlled_property_changed),
2250         (gst_controller_sync_values),
2251         (gst_controller_set_interpolation_mode):
2252         * libs/gst/controller/gstcontroller.h:
2253           Less verbose logging add docs for unimplemented parts and correctly
2254           return when using unavailable parts.
2256 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
2258         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
2259         Move all the debug to the CLOCK category, and associate it with
2260         the clock object.
2262 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
2264         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
2265         Make take_buffer a bit quicker by removing redundant checks
2266         caused by calling gst_adapter_take.
2268 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
2270         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
2271           Don't leak GCond.
2273         * tests/check/Makefile.am:
2274         * tests/check/elements/.cvsignore:
2275         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2276         (GST_START_TEST), (multiqueue_suite):
2277           Add some dead simple unit tests for the 'multiqueue' element
2278           (some bits don't work yet and are disabled for now).
2280 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
2282         * gst/gstelement.c: (gst_element_get_request_pad),
2283         (gst_element_class_get_request_pad_template):
2284           Make gst_element_get_request_pad() create request pads only for
2285           request pad templates and not for, say, sometimes pad templates.
2287 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
2289         * docs/design/draft-klass.txt:
2290           Add example that needs more thinking.
2291         
2292         * docs/design/draft-missing-plugins.txt:
2293           More thoughts about wrapper plugins.
2294         
2295         * docs/random/ensonic/embedded.txt:
2296         * docs/random/ensonic/profiling.txt:
2297           More design work.
2299 2007-03-25  Wim Taymans  <wim@fluendo.com>
2301         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2302         (gst_base_src_loop):
2303         Only push the segment events in the PLAYING state for live sources.
2305 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
2307         * gst/gstpipeline.c: (gst_pipeline_change_state):
2308         Modify the clock distribution path in PAUSED->PLAYING so that we 
2309         never attempt to choose a new clock unless we're actually leaving
2310         the PAUSED state for the first time. This prevents choosing a
2311         different clock when the state_change gets called for a 2nd time due
2312         to some element doing an async state change.
2314 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2316         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
2317         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
2318         (gst_pad_chain_unchecked), (gst_pad_push):
2319         Revert last commit. This needs some more thoughts.
2321 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2323         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
2324         (gst_pad_chain_unchecked), (gst_pad_push):
2325         Check in set_caps if the caps are compatible with the pad and remove
2326         two functions that are redundant now. Fixes #421543.
2328 2007-03-22  Wim Taymans  <wim@fluendo.com>
2330         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2331         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
2332         Unref some more to make valgrind happy.
2334 2007-03-22  Wim Taymans  <wim@fluendo.com>
2336         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
2337         (gst_system_clock_id_wait_jitter),
2338         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2339         Fix anoying regression that survived a few releases. When adding an
2340         async entry while blocking on a sync entry, the sync entry will unblock
2341         but still be busy, so it should continue to wait instead of returning
2342         _BUSY to the app.
2343         Add some comments here and there.
2345         * tests/check/gst/gstsystemclock.c: (mixed_thread),
2346         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
2347         Add testcase for this.
2349 2007-03-22  Wim Taymans  <wim@fluendo.com>
2351         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2352         Handle errors from the clock sync better, only UNSCHEDULED indicates a
2353         WRONG_STATE and can silently pause the task. All other cases should
2354         error out.
2356 2007-03-22  Wim Taymans  <wim@fluendo.com>
2358         Patch by: Ville Syrjala <syrjala at sci dot fi>
2360         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
2361         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
2362         Improve debugging.
2364 2007-03-21  Michael Smith  <msmith@fluendo.com>
2366         * docs/pwg/advanced-types.xml:
2367           Fix some errors in the typefinding docs pointed out on irc.
2369 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
2371         * libs/gst/base/gstbasesrc.c:
2372         Clarify FIXME comment in the face of having added unlock_stop()
2374 2007-03-21  Wim Taymans  <wim@fluendo.com>
2376         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
2377         Prepare for release where we warn against possible app breakage in the
2378         case of live pipelines along with an env var to enable/disable live
2379         preroll mode (GST_COMPAT=[no-]live-preroll).
2381 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2383         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
2384         So we should use correct constants for checking for None offset.
2386 2007-03-20  Wim Taymans  <wim@fluendo.com>
2388         * docs/design/part-block.txt:
2389         Mention the fact that the newly switched element should be set to at
2390         least PAUSED.
2392 2007-03-20  Wim Taymans  <wim@fluendo.com>
2394         * gst/gst.c:
2395         Fix compilation with registry disabled as spotted by Saur.
2397 2007-03-20  Wim Taymans  <wim@fluendo.com>
2399         Patch by: Olivier Crete <tester at tester dot ca>
2401         * gst/gstelement.c: (gst_element_sync_state_with_parent):
2402         Look at the pending state too when syncing the element state to the
2403         parent. Fixes #420133.
2405 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
2407         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
2408         (gst_base_sink_change_state):
2409         * libs/gst/base/gstbasesink.h:
2410         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2411         (gst_base_src_default_event), (gst_base_src_unlock_stop),
2412         (gst_base_src_deactivate):
2413         * libs/gst/base/gstbasesrc.h:
2414         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
2415         for sub-classes to correctly clear any state they set trying to
2416         unlock, such as clearing out unlock commands from a command fd.
2417         API: basesrc::unlock_stop
2418         API: basesink::unlock_stop
2420         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
2421         (gst_fd_sink_render), (gst_fd_sink_unlock),
2422         (gst_fd_sink_unlock_stop):
2423         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2424         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
2425         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
2427         Implement unlock_stop in fdsrc and fdsink.
2428         Implement seeking in fdsrc when a seekable fd is passed, as in
2429         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
2431 2007-03-19  Wim Taymans  <wim@fluendo.com>
2433         Patch by: Evan Nemerson <evan at coeus dash group dot com>
2435         * gst/gstelement.c: (gst_element_class_init):
2436         Fix pad-added and pad-removed signal signatures so that the pad type is
2437         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
2439 2007-03-19  Wim Taymans  <wim@fluendo.com>
2441         * docs/gst/gstreamer-sections.txt:
2442         Add new element field and method.
2444         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2445         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
2446         (gst_bin_recalc_state), (gst_bin_get_state_func),
2447         (gst_bin_element_set_state), (gst_bin_change_state_func),
2448         (gst_bin_continue_func), (bin_bus_handler),
2449         (bin_push_state_continue), (bin_handle_async_start),
2450         (bin_handle_async_done), (gst_bin_handle_message_func):
2451         Make async state changes a bit smarter by using new ASYNC_START and
2452         ASYNC_DONE messages. This reduces the number of times we run the state
2453         recalculation thread.
2454         Don't change state of element with a pending ASYNC_START message.
2455         Deprecate STATE_DIRTY messages.
2456         
2457         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
2458         (gst_element_get_state_func), (gst_element_continue_state),
2459         (gst_element_lost_state), (gst_element_set_state_func),
2460         (gst_element_change_state):
2461         * gst/gstelement.h:
2462         Keep the state that was last set by the app in a new element field.
2463         Don't allow state changes when handling an element event.
2464         Post ASYNC_START and ASYNC_DONE messages.
2465         Change lost_state so that we go to PAUSED and wait for the parent to set
2466         us to PLAYING again (so latency calculation can be performed)
2467         Export gst_element_change_state() method so that subclasses can use it.
2468         API: gst_element_change_state()
2469         API: GST_STATE_TARGET
2471         * gst/gstpipeline.c: (gst_pipeline_class_init),
2472         (reset_stream_time), (gst_pipeline_change_state),
2473         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
2474         Using the new ASYNC_START message we can reset the base_time when
2475         needed. This can then be used to implement base_time redistribution in
2476         flushing seeks so that we can remove the explicit seek handling.
2477         Perform latency query and configuration when going to PLAYING.
2479         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2480         (gst_base_sink_query), (gst_base_sink_change_state):
2481         Post new ASYNC_START/ASYNC_DONE messages.
2483         * tests/check/generic/sinks.c: (GST_START_TEST):
2484         Fix test because the bin will not set the async element to PLAYING right
2485         away.
2487         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
2488         Make the message check a little stronger.
2489         Handle ASYNC messages.
2491         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
2492         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
2493         Expect ASYNC_DONE messages.
2495 2007-03-19  Wim Taymans  <wim@fluendo.com>
2497         * docs/gst/gstreamer-sections.txt:
2498         * gst/gstmessage.c: (gst_message_new_async_start),
2499         (gst_message_new_async_done), (gst_message_parse_info),
2500         (gst_message_parse_async_start):
2501         * gst/gstmessage.h:
2502         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
2503         support.
2505 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2507         * tools/gst-inspect.c:
2508         (print_plugin_automatic_install_info_codecs):
2509           Now that we don't check for the 'Codec' keyword any longer in the
2510           klass, we shouldn't spew a warning if the klass isn't a decoder or
2511           encoder (since it might be a Source/Network, for example).
2513 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2515         * tools/gst-inspect.c:
2516         (print_plugin_automatic_install_info_codecs):
2517           Don't require decoder/demuxer/depayloader elements or
2518           encoder/muxer/paylader elements to have 'Codec' as part of their
2519           factory class string when introspecting a plugin's capabilities.
2520           draft-klass.txt mentions that it might be removed in future, and
2521           flump3dec doesn't have it as part of its class string, so chances
2522           are others might also not have it.
2524 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2526         * po/af.po:
2527         * po/az.po:
2528         * po/bg.po:
2529         * po/ca.po:
2530         * po/cs.po:
2531         * po/de.po:
2532         * po/en_GB.po:
2533         * po/fr.po:
2534         * po/it.po:
2535         * po/nb.po:
2536         * po/nl.po:
2537         * po/ru.po:
2538         * po/sq.po:
2539         * po/sr.po:
2540         * po/sv.po:
2541         * po/tr.po:
2542         * po/uk.po:
2543         * po/vi.po:
2544         * po/zh_CN.po:
2545         * po/zh_TW.po:
2546           Update translations from translation project
2548 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
2550         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
2551         (gst_child_proxy_set_property):
2552           Invert precondition check to be alike the ones in the mimiced gobject
2553           api.
2555 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
2557         * docs/design/draft-tagreading.txt:
2558         * docs/random/ensonic/audiobaseclasses.txt:
2559           Do some Architect work.
2561         * gst/gstobject.c: (gst_object_set_name):
2562           Add a WARNING.
2564         * gst/gstpad.c:
2565           Add docs that point from gst_pad_get_range to gst_pad_pull_range
2567 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
2569         * gst/gstsystemclock.c: (gst_system_clock_init),
2570         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
2571         Defer starting the async system clock thread until the first async
2572         wait is scheduled. Fixes #414986.
2574 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2576         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
2577         (gst_single_queue_free):
2578           Fix small leak (free GstSingleQueue structure too, not only contents).
2580 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
2582         * gst/gstbin.c:(gst_bin_add):
2583         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
2584         * win32/common/libgstbase.def:
2585         * win32/common/libgstreamer.def:
2586         Add new exported functions.
2588 2007-03-09  Wim Taymans  <wim@fluendo.com>
2590         * docs/plugins/gstreamer-plugins-sections.txt:
2591         Fix GstTee docs.
2593 2007-03-09  Wim Taymans  <wim@fluendo.com>
2595         * docs/gst/gstreamer-sections.txt:
2596         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
2597         * gst/gstbuffer.h:
2598         Add metadata copy functions. Fixes #393099.
2599         API: gst_buffer_copy_metadata()
2601         * gst/gstutils.c: (gst_buffer_stamp):
2602         * libs/gst/base/gstbasetransform.c:
2603         (gst_base_transform_prepare_output_buffer):
2604         Use new metadata copy functions.
2606 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2608         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2609         (gst_identity_init), (gst_identity_check_perfect),
2610         (gst_identity_check_imperfect_timestamp),
2611         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
2612         (gst_identity_set_property), (gst_identity_get_property):
2613         * plugins/elements/gstidentity.h:
2614         Separate out check-imperfect-timestamp and check-imperfect-offset.
2615         Put back check-perfect as it was to keep compatibility.
2617 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
2619         * gst/gstelement.c: (gst_element_dispose):
2620         There's no need to warn if VOID_PENDING is not NONE here, as
2621         long as the state is NULL it's ok, and that's checked immediately
2622         above.
2624 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2626         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2627         Fix check for perfect stream to ignore buffers with -1 
2628         offsets/offset ends when checking data contiguity.
2630 2007-03-08  Wim Taymans  <wim@fluendo.com>
2632         * tools/gst-launch.c: (event_loop):
2633         Print INFO messages.
2635 2007-03-08  Wim Taymans  <wim@fluendo.com>
2637         * libs/gst/base/gstbasetransform.c:
2638         (gst_base_transform_sink_eventfunc),
2639         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2640         (gst_base_transform_activate):
2641         * libs/gst/base/gstbasetransform.h:
2642         Add support for dropping buffers with custom GstFlowReturn.
2643         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
2644         buffers or dropped buffers.
2646         * docs/libs/gstreamer-libs-sections.txt:
2647         docs for new custom return code.
2649         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2650         Use drop support in base class to implement drop-probability.
2652 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2654         * gst/gst.c: (load_plugin_func):
2655         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
2656         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2657         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
2658           Remove newlines at end of debug log strings.
2660 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2662         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2663         Only post bus message at max, once per buffer received.
2665 2007-03-07  Wim Taymans  <wim@fluendo.com>
2667         * docs/design/Makefile.am:
2668         * docs/design/part-synchronisation.txt:
2669         Add doc about synchronisation
2671         * docs/design/draft-latency.txt:
2672         * docs/design/part-TODO.txt:
2673         * docs/design/part-clocks.txt:
2674         * docs/design/part-events.txt:
2675         * docs/design/part-gstbus.txt:
2676         * docs/design/part-gstpipeline.txt:
2677         * docs/design/part-live-source.txt:
2678         * docs/design/part-messages.txt:
2679         * docs/design/part-overview.txt:
2680         * docs/design/part-streams.txt:
2681         * docs/design/part-trickmodes.txt:
2682         Documentation updates.
2684 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2686         * gstreamer.doap:
2687         Update the doap file.
2689 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2691         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2692         Rename non-perfect to imperfect for Mike and for the sanctity of the
2693         language.
2694         Also make sure bus message gets emitted for data-incontiguities.
2696 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2698         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
2699         (gst_identity_start):
2700         * plugins/elements/gstidentity.h:
2701         Emit bus message if check-perfect is true and we encounter a
2702         non-perfect stream between 2 consecutive buffers.
2703         Fixes #415394.
2705 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
2707         * configure.ac:
2708         Back to CVS
2710 === release 0.10.12 ===
2712 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
2714         * configure.ac:
2715           releasing 0.10.12, "Inevitable Demise"
2717 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
2719         * configure.ac:
2720          Version 0.10.11.2 (0.10.12 pre-release)
2721          Bump libtool versioning.
2723 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
2725         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2726           Log flow-names and not numbers.
2728 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2730         * configure.ac:
2731           Convert to new AG_GST style.
2733 2007-02-28  Wim Taymans  <wim@fluendo.com>
2735         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
2736         Don't unref query twice.
2738 2007-02-28  Wim Taymans  <wim@fluendo.com>
2740         * gst/gstvalue.c: (gst_value_transform_object_string),
2741         (_gst_value_initialize):
2742         Implement GstObject -> string transform so we print object names
2743         when serializing GValues containing GstObjects.
2745 2007-02-28  Wim Taymans  <wim@fluendo.com>
2747         * docs/gst/gstreamer-sections.txt:
2748         Add new stuff to docs.
2750 2007-02-28  Wim Taymans  <wim@fluendo.com>
2752         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2753         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
2754         (gst_base_sink_change_state):
2755         Improve latency query code.
2756         Don't leak latency events.
2758         * tests/check/gst/gstbin.c: (GST_START_TEST):
2759         Improve debugging.
2761 2007-02-28  Wim Taymans  <wim@fluendo.com>
2763         * gst/gstelement.c: (gst_element_message_full),
2764         (gst_element_get_state_func):
2765         * gst/gstelement.h:
2766         Improve docs a little. Added Since: for new macro.
2768         * gst/gstobject.c: (gst_object_sink):
2769         * gst/gstpipeline.c: (gst_pipeline_change_state),
2770         (gst_pipeline_set_new_stream_time):
2771         * gst/gstpipeline.h:
2772         Improve debugging and docs.
2774         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2775         Improve debugging.
2777 2007-02-28  Wim Taymans  <wim@fluendo.com>
2779         * gst/gstelement.c: (gst_element_message_full),
2780         (gst_element_set_locked_state), (gst_element_get_state_func),
2781         (gst_element_change_state):
2782         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
2783         Documentation updates.
2784         Small code cleanups.
2786         * gst/gstmessage.c: (gst_message_new_info),
2787         (gst_message_parse_info):
2788         * gst/gstmessage.h:
2789         API: gst_message_new_info()
2790         API: gst_message_parse_info()
2791         Add INFO message create and parse code.
2793 2007-02-28  Wim Taymans  <wim@fluendo.com>
2795         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
2796         (bin_query_latency_done):
2797         Also report the live parameter of a latency query.
2799 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2801         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
2802           Copy the current generic/states example from -base and adapt so
2803           we can use the exact same code everywhere.
2804           Check a STATES_IGNORE_ELEMENTS env var which can be used
2805           to ignore certain element factories for this test, which is
2806           what is being done in -base
2807         * tests/check/Makefile.am:
2808           Mention this environment variable.
2810 2007-02-27  Wim Taymans  <wim@fluendo.com>
2812         * docs/gst/gstreamer-sections.txt:
2813         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2814         (gst_bus_timed_pop), (gst_bus_pop):
2815         * gst/gstbus.h:
2816         API: gst_bus_timed_pop()
2817         Implement gst_bus_timed_pop() to do a blocking timed wait for a
2818         message to arrive on the bus.
2820         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
2821         (gst_bus_suite):
2822         Two unit tests for new _timed_pop() function.
2824 2007-02-23  Wim Taymans  <wim@fluendo.com>
2826         * gst/gstpipeline.c: (gst_pipeline_change_state),
2827         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
2828         Don't ref a NULL clock in _provide_clock_func().
2829         Don't allow an INVALID delay.
2830         Don't try to calculate base_time with an invalid start_time.
2831         Also distribute and notify a NULL clock when it was selected.
2833         * tools/gst-launch.c: (event_loop):
2834         Don't crash when a NULL clock was selected in the pipeline.
2836 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2838         * docs/design/Makefile.am:
2839         * docs/design/draft-missing-plugins.txt:
2840         * docs/random/draft-missing-plugins.txt:
2841           Some small updates: update plugin system identifier prefix
2842           ('gstreamer.net' to 'gstreamer'), mention our new install
2843           API in libgstbaseutils rather than libgimme-codec, add
2844           reference to the online docs.
2846 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2848         * win32/common/config.h:
2849           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
2850           use moap cl ci to only check in what is mentioned in the ChangeLog.
2852 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2854         * docs/gst/gstreamer-sections.txt:
2855         * gst/gstelement.h:
2856           Fix up documentation to link to the correct GstGError section.
2857           Add GST_ELEMENT_INFO macro since someone else added a Info message.
2859 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2861         * tools/gst-launch.c: (event_loop):
2862           Make sure that we actually show the important message part of a
2863           warning message.
2864           No need to check if the gerror is not NULL to free; first of all
2865           g_free accepts NULL; and second the default error handler would
2866           segfault if gerror was NULL.
2868 2007-02-21  Wim Taymans  <wim@fluendo.com>
2870         * docs/gst/gstreamer-sections.txt:
2871         Removed docs as well.
2873 2007-02-21  Wim Taymans  <wim@fluendo.com>
2875         * gst/gstmessage.c: (gst_message_parse_duration):
2876         * gst/gstmessage.h:
2877         Remove new messages for release.
2879 2007-02-20  Wim Taymans  <wim@fluendo.com>
2881         * docs/design/part-gstghostpad.txt:
2882         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
2883         (gst_ghost_pad_new_full):
2884         Make the ghostpad a parent of the internal pad again for better backward
2885         compatibility. Don't write code that relies on this however.
2887         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
2888         (gst_pad_link_check_hierarchy):
2889         Require that parents should be GstElements in the hierarchy check.
2891 2007-02-20  Wim Taymans  <wim@fluendo.com>
2893         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
2894         (gst_bin_change_state_func), (bin_query_min_max_init),
2895         (bin_query_latency_fold), (bin_query_latency_done),
2896         (gst_bin_query):
2897         Improve debug info.
2898         Implement latency query.
2900 2007-02-20  Wim Taymans  <wim@fluendo.com>
2902         * docs/design/part-gstghostpad.txt:
2903         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
2904         (gst_ghost_pad_internal_do_activate_push),
2905         (gst_ghost_pad_internal_do_activate_pull),
2906         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2907         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
2908         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
2909         Do not set the internal pad as a parent anymore so we can avoid
2910         hierarchy linking errors when the ghostpad has no parent yet. This also
2911         fixes failed activation because of unlinked internal pads, which in
2912         turn fixes the impossible case where you have to activate a pad before
2913         you can add it to a running element.
2914         Also fix the docs.
2916         * gst/gstpad.c: (pre_activate), (post_activate),
2917         (gst_pad_set_active), (gst_pad_activate_pull),
2918         (gst_pad_activate_push), (gst_pad_check_pull_range):
2919         Add some more debug info.
2920         Mark activation mode in pre_activate so that we don't try to activate in
2921         endless loops. Fixes #385084.
2923 2007-02-19  Wim Taymans  <wim@fluendo.com>
2925         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
2926         (gst_base_transform_check_get_range):
2927         Implement a checkgetrange function instead of relying on the default
2928         core behaviour that assumes we can operate in pull mode if we have a
2929         getrange function. First step at fixing #385084.
2931 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
2933         * gst/gstchildproxy.h:
2934         * libs/gst/base/gstbasesink.h:
2935         * libs/gst/base/gstbasesrc.h:
2936         * libs/gst/base/gstbasetransform.h:
2937         More docs coverage and some ChangeLog surgery (add missing names)
2939 2007-02-15  Wim Taymans  <wim@fluendo.com>
2941         * docs/design/part-TODO.txt:
2942         * docs/design/part-activation.txt:
2943         * docs/design/part-block.txt:
2944         * docs/design/part-buffering.txt:
2945         * docs/design/part-clocks.txt:
2946         * docs/design/part-element-source.txt:
2947         * docs/design/part-events.txt:
2948         * docs/design/part-gstbin.txt:
2949         * docs/design/part-gstbus.txt:
2950         * docs/design/part-gstpipeline.txt:
2951         * docs/design/part-live-source.txt:
2952         * docs/design/part-messages.txt:
2953         * docs/design/part-overview.txt:
2954         * docs/design/part-qos.txt:
2955         * docs/design/part-query.txt:
2956         * docs/design/part-states.txt:
2957         * docs/design/part-trickmodes.txt:
2958         Some doc updates. Start renaming from stream_time to running_time where
2959         it was used wrongly.
2961 2007-02-15  Wim Taymans  <wim@fluendo.com>
2963         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2964         Answer LATENCY query.
2966 2007-02-15  Wim Taymans  <wim@fluendo.com>
2968         * tests/check/gst/gstevent.c: (event_probe), (test_event),
2969         (GST_START_TEST):
2970         Improve debugging.
2972 2007-02-15  Wim Taymans  <wim@fluendo.com>
2974         * gst/gstpad.c: (gst_pad_get_internal_links_default),
2975         (gst_pad_dispatcher):
2976         Improve debugging of default pad dispatcher and query functions.
2978 2007-02-15  Wim Taymans  <wim@fluendo.com>
2980         * docs/gst/gstreamer-sections.txt:
2981         Remove old unused method.
2983 2007-02-13  Wim Taymans  <wim@fluendo.com>
2985         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2986         Fix check
2988 2007-02-13  Wim Taymans  <wim@fluendo.com>
2990         * docs/design/part-seeking.txt:
2991         Some small update.
2993         * gst/gstsegment.c: (gst_segment_set_seek):
2994         Revert old bogus change that should make seeking work again.
2996 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
2998         * docs/random/ensonic/dynlink.txt:
2999         * docs/random/ensonic/interfaces.txt:
3000         * docs/random/ensonic/receipies.txt:
3001           Possible dynamic reconnection api, plus some type fixes the other two
3002           docs.
3004 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
3006         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3007         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3008         Also check for an absolute path following file:// in the filesrc
3009         element. Remove redundant check and call g_path_is_absolute() on the
3010         unescaped location.
3012 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
3014         * docs/design/draft-klass.txt:
3015           Add existing category analysis.
3016           
3017         * gst/gstcaps.c:
3018           Fix doc example, framerate is a fraction.
3020 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3022         * configure.ac:
3023         * docs/gst/Makefile.am:
3024         * docs/gst/gstreamer-sections.txt:
3025         * docs/libs/Makefile.am:
3026           Erm, forgot a bunch of --extra-dir.
3028 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
3030         * configure.ac:
3031         * docs/gst/Makefile.am:
3032         * docs/libs/Makefile.am:
3033         * docs/plugins/Makefile.am:
3034           Add crossreferences to glib/gobject docs.
3036 2007-02-12  Wim Taymans  <wim@fluendo.com>
3038         * docs/design/draft-latency.txt:
3039         Small update.
3041         * docs/libs/gstreamer-libs-sections.txt:
3042         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3043         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
3044         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
3045         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
3046         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
3047         (gst_base_sink_get_position), (gst_base_sink_query),
3048         (gst_base_sink_change_state):
3049         * libs/gst/base/gstbasesink.h:
3050         API: gst_base_sink_query_latency() to let subclasses query the upstream
3051         latency.
3052         API: gst_base_sink_get_latency() to let subclasses query the configured
3053         latency in the sink.
3054         Implement query and set latency.
3055         Update some docs.
3056         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
3057         don't continue preroll when we are flushing. Fixes #405284.
3059         * tests/check/pipelines/stress.c: (change_state_timeout),
3060         (quit_timeout), (GST_START_TEST), (stress_suite):
3061         Test for #405284.
3063 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3065         Patch by: René Stadler <mail at renestadler de>
3067         * docs/gst/gstreamer-sections.txt:
3068         * gst/gsttaglist.c: (_gst_tag_initialize):
3069         * gst/gsttaglist.h:
3070           API: add GST_TAG_REFERENCE_LEVEL (#403597).
3072 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
3074         * docs/libs/Makefile.am:
3075           Fix path to core docs.
3077         * gst/gstbin.c: (gst_bin_get_by_interface),
3078         (gst_bin_iterate_all_by_interface):
3079           Refix docs by also renaming 'interface' to 'iface' in implementation.
3081         * docs/gst/gstreamer-sections.txt:
3082         * gst/gstcaps.c:
3083         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
3084         * gst/gstchildproxy.h:
3085         * gst/gstelementfactory.c:
3086         * gst/gstpadtemplate.h:
3087         * libs/gst/controller/gstcontroller.c:
3088         (gst_controlled_property_new):
3089           Document more.
3091 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
3093         * gst/gstbin.h:(gst_bin_get_by_interface),
3094         (gst_bin_iterate_all_by_interface):
3095         Replace interface parameter name by iface as interface is 
3096         a reserved keyword in Visual Studio for C++ projects so it removes
3097         a build error for application developpers using VS.
3098         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
3099         Fix a bug on Windows in uri format check. Now the prefix checked
3100         is file:// and next we check if the path after file:// is absolute.
3101         * win32/common/libgstbase.def:
3102         * win32/common/libgstdataprotocol.def:
3103         * win32/common/libgstgstreamer.def:
3104         Add new exported functions.
3106 2007-02-09  Andy Wingo  <wingo@pobox.com>
3108         * tests/check/pipelines/simple-launch-lines.c
3109         (simple_launch_lines_suite, test_tee): Disable tee test until I
3110         have time to fix it :-(
3112         * tests/check/Makefile.am (noinst_HEADERS): 
3113         * tests/check/libs/libsabi.c: 
3114         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
3115         * tests/check/gst/gstabi.c: 
3116         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
3118         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
3119         tests for push and pull tee behavior.
3121         * plugins/elements/gsttee.h: 
3122         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
3123         mark as deprecated as well as unimplemented. It was a crack idea.
3124         Add support for tee operating in pull mode, off by default.
3126         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
3127         normal-case logs down to LOG, raise errors to WARNING.
3128         (gst_registry_xml_read_cache): Don't log before calling a function
3129         that logs.
3131         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
3132         exit (registry finalize).
3133         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
3134         DEBUG log when we emit signals that people don't even have the
3135         chance to connect to.
3136         (gst_registry_scan_path_level): Less logging in the normal case.
3138 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3140         Patch by: Michal Benes <michal dot benes at itonis dot tv>
3142         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3143         Correctly generate EOS for non-seekable files. We don't have a total
3144         length for them and would get an unexpected end of file if we only
3145         special-cased for regular files. (Fixes: #404569)
3147 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3149         * tests/check/elements/filesrc.c: (GST_START_TEST),
3150         (filesrc_suite):
3151         Add unit test for the GstURIHandler interface in filesrc. This also
3152         tests the newly added file://localhost/foo/bar support.
3154 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3156         * gst/gstelementfactory.h:
3157           The klass string is not a hierarchy. Add reference to the design doc
3158           for more information and common types.
3160 2007-02-02  Wim Taymans  <wim@fluendo.com>
3162         * gst/gstquery.c: (gst_query_new_latency):
3163         Remove old structure field.
3165 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
3167         * tools/gst-launch.1.in:
3168           Give example for network streaming (#351998)
3170 2007-02-02  Wim Taymans  <wim@fluendo.com>
3172         * docs/gst/gstreamer-sections.txt:
3173         Add docs for new methods.
3175         * gst/gstevent.c: (gst_event_new_latency),
3176         (gst_event_parse_latency):
3177         * gst/gstevent.h:
3178         Add new LATENCY event to configure latency in a pipeline.
3179         API: gst_event_new_latency
3180         API: gst_event_parse_latency
3182         * gst/gstmessage.c: (gst_message_new_buffering),
3183         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
3184         (gst_message_new_latency), (gst_message_parse_buffering),
3185         (gst_message_parse_lost_preroll):
3186         * gst/gstmessage.h:
3187         Added messages used in draft-latency.
3188         API: gst_message_new_lost_preroll
3189         API: gst_message_parse_lost_preroll
3190         API: gst_message_new_prerolled
3191         API: gst_message_new_latency
3193         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3194         (gst_query_parse_latency):
3195         * gst/gstquery.h:
3196         Implemented new latency query as in design doc.
3197         API: gst_query_new_latency
3198         API: gst_query_set_latency
3199         API: gst_query_parse_latency
3201 2007-02-02  Wim Taymans  <wim@fluendo.com>
3203         * docs/design/draft-latency.txt:
3204         Slight redesign to allow for dynamic latency adjustments.
3206         * docs/design/part-negotiation.txt:
3207         Fix some typos.
3209 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
3211         reviewed by: Wim Taymans <wim@fluendo.com>
3213         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3214         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3215         Allow file://localhost/foo/bar URLs and correctly fail for every other
3216         hostname that one sets. This was gnomevfssrc is linked for those if
3217         installed as it can handle it (#403172)
3219 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
3221         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
3223         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3224         (unref_data), (gst_collect_pads_add_pad_full):
3225         * libs/gst/base/gstcollectpads.h:
3226         Don't put the previously added destroy notify in the GstCollectData
3227         struct as all it's padding is already used and we don't want to break
3228         ABI. Instead put in the pad's GObject data for now. This should be
3229         cleaned up for 0.11 (#402393).
3231 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
3233         reviewed by: Wim Taymans <wim@fluendo.com>
3235         * docs/libs/gstreamer-libs-sections.txt:
3236         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3237         (unref_data), (gst_collect_pads_add_pad),
3238         (gst_collect_pads_add_pad_full):
3239         * libs/gst/base/gstcollectpads.h:
3240         API: Add function to specify a destroy notification for custom
3241         GstCollectData when adding new pads in GstCollectPads (#402393).
3243 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
3245         * po/sv.po:
3246           Update Swedish translation (#378255).
3248 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
3250         * docs/design/draft-klass.txt:
3251           Fix the previous change, this is a list of categories and not a hierarchy.
3253 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
3255         * docs/design/draft-klass.txt:
3256           Add info about how to get a list of used classes.
3258 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
3260         * plugins/elements/gsttypefindelement.c:
3261         (gst_type_find_element_chain_do_typefinding),
3262         (gst_type_find_element_change_state):
3263           Don't leak found caps in chain function (no idea why that never
3264           showed up as a leak anywhere).
3266 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
3268         * gst/gstplugin.h:
3269           Fix and expand GstPluginDesc API docs.
3271 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
3273         * gst/gstcaps.c:
3274         * gst/gstelementfactory.c:
3275         * gst/gstpadtemplate.h:
3276           api doc fixes
3278         * libs/gst/controller/gstcontroller.c:
3279         (gst_controlled_property_new):
3280         * tests/examples/controller/audio-example.c:
3281           comment fixes
3283 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
3285         * configure.ac:
3286           comment about refining the xml deps
3288         * docs/manuals.mak:
3289           comments about moving away from jade for docs
3290         
3291         * gst/gst.c:
3292           recommit the ifdefs to use the binary registry
3293         
3294         * gst/gstbin.c: (gst_bin_change_state_func):
3295           this break is obsolete
3297         * gst/gstelementfactory.h:
3298           better GST_ELEMENT_DETAILS docs, add comment about translation
3300         * gst/gstinfo.h:
3301           remove eol slash
3303         * gst/gstobject.c: (gst_signal_object_get_type):
3304           add G_UNLIKELY as usual
3306         * gst/gstpad.c: (gst_pad_event_default):
3307           add fall trhu comment
3309         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3310         (gst_registry_binary_initialize_magic),
3311         (gst_registry_binary_save_string),
3312         (gst_registry_binary_save_pad_template),
3313         (gst_registry_binary_save_feature),
3314         (gst_registry_binary_save_plugin),
3315         (gst_registry_binary_write_cache),
3316         (gst_registry_binary_check_magic),
3317         (gst_registry_binary_load_pad_template),
3318         (gst_registry_binary_load_feature),
3319         (gst_registry_binary_load_plugin),
3320         (gst_registry_binary_read_cache):
3321           comment typo and formatting
3323         * gst/gstutils.c: (gst_element_state_get_name),
3324         (gst_element_state_change_return_get_name):
3325           remove obsolete breaks
3327         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3328           add FIXME 0.11 and remove cpp comment
3330 2007-01-29  Edward Hervey  <edward@fluendo.com>
3332         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3333         Fix print statement in an even more portable way.
3335 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
3337         * docs/gst/gstreamer-sections.txt:
3338         * gst/gstutils.h:
3339           API: add GST_ROUND_DOWN_* macros (#401781).
3341 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
3343         * docs/gst/gstreamer.types.in:
3344         * gst/gstregistry.c: (gst_registry_class_init):
3345           Document registry signals and make gtk-doc pick them up (#401381).
3347 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
3349         * docs/pwg/building-testapp.xml:
3350           Add some audioconverts and audioresample to the pipeline, and some
3351           more comments and error handling.
3353 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
3355         * docs/manual/manual.xml:
3356         * docs/pwg/pwg.xml:
3357           Fix typo (#400987).
3359 2007-01-26  Wim Taymans  <wim@fluendo.com>
3361         * gst/gstcaps.c: (gst_static_caps_get):
3362         Init caps flags too.
3364 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
3366         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
3368         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3369         If not using mmap'ed files try to seek to the end instead of the
3370         start to determine whether we can seek at all. This fixes the case
3371         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
3372         seeks for everything afterwards fail. Fixes #400656
3374 2007-01-25  Wim Taymans  <wim@fluendo.com>
3376         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
3377         Add some refcount debugging.
3378         Make gst_static_caps_get threadsafe, which is needed when autoplugging
3379         in multiple streaming threads.
3381 2007-01-25  Wim Taymans  <wim@fluendo.com>
3383         Patch by: David Schleef <ds at schleef dot org>
3385         * docs/libs/gstreamer-libs-sections.txt:
3386         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
3387         * libs/gst/base/gstadapter.h:
3388         API: gst_adapter_copy() that can reduce the amount of memcpy when
3389         getting data from the adapter. Fixes #388201.
3391 2007-01-25  Edward Hervey  <edward@fluendo.com>
3393         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3394         In print statements, "%x" is for guint. Fixes build on macosx.
3396 2007-01-24  Edward Hervey  <edward@fluendo.com>
3398         * plugins/elements/gstmultiqueue.c:
3399         (gst_multi_queue_loop):
3400         Small fix.
3401         (single_queue_overrun_cb), (single_queue_underrun_cb),
3402         (single_queue_check_full), (gst_single_queue_new):
3403         Implement single queue growth system.
3404         This uses the extra-size properties, and will grow single queues by
3405         that much if one goes full whereas there are others empty. This is
3406         called extra-mode in the code.
3407         When a single queue's levels go back below the initial max-size
3408         limits, it is no longer in extra-mode. This is to ensure we don't
3409         consume too much memory.
3410         Fixes #399875
3412 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
3414         * gst/gst.c: (gst_init_get_option_group):
3415           Make warning about late g_thread_init() calls a bit more explicit,
3416           so that it's more obvious to application developers what they need
3417           to do if a user files a bug against their application.
3419 2007-01-22  Edward Hervey  <edward@fluendo.com>
3421         * plugins/elements/gstmultiqueue.c:
3422         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
3423         Remove previous hack of unsetting the flushing flag for the source pad
3424         instead of activating it. Instead, fix the source pad activate function
3425         so that it no longer depends on having a parent set or not.
3427 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
3429         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
3431         * docs/manual/basics-bus.xml:
3432           Fix example code, gst_element_unref() doesn't exist any longer.
3434 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
3436         Patch by: Mark Nauwelaerts <manauw at skynet be>
3438         * gst/gstpad.c:
3439           Fix two docs typoes (#399094).
3441 2007-01-19  Edward Hervey  <edward@fluendo.com>
3443         * docs/faq/gst-uninstalled:
3444         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
3445         depending on libgstbaseutils can work in uninstalled environment.
3447 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
3449         * gst/gsttaglist.h:
3450         * gst/gsttagsetter.c:
3451         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
3452         statement for new tag.
3454 2007-01-17  Edward Hervey  <edward@fluendo.com>
3456         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
3457         When dynamically creating single queues, activate sinkpad before adding
3458         it.
3459         We should be doing the same thing for the source pad, but we can't
3460         since it would call a method which needs the parent to be set in order
3461         to work propertly. Instead of activating the source pad, we just unset
3462         the flushing flag, which is the minimal requirement for adding a pad
3463         to an element in a state greater than READY.
3465 2007-01-17  Edward Hervey  <edward@fluendo.com>
3467         * docs/faq/gst-uninstalled:
3468         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
3469         Mac OS X.
3471 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3473         * tests/check/gst/gstabi.c:
3474         * tests/check/gst/struct_hppa.h:
3475         * tests/check/libs/libsabi.c:
3476         * tests/check/libs/struct_hppa.h:
3477           Add ABI structs for HPPA (see #393796).
3479 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
3481         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
3482           Actually write ABI structs to the file specified in the GST_ABI
3483           environment variable, as the message we print claims we would.
3485 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3487         * tests/check/gst/gsttask.c:
3488           Fix header comment.
3490 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3492         * gst/gsttaglist.c: (_gst_tag_initialize):
3493           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
3494           previous two entries.
3496 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3498         * docs/gst/gstreamer-sections.txt:
3499         * gst/gsttaglist.c: (_gst_tag_initialize):
3500         * gst/gsttaglist.h:
3501           Add tag support for beat-per-minute.
3503 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
3505         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3506         (gst_registry_binary_initialize_magic),
3507         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
3508         (gst_registry_binary_save_pad_template),
3509         (gst_registry_binary_save_feature),
3510         (gst_registry_binary_save_plugin),
3511         (gst_registry_binary_write_cache),
3512         (gst_registry_binary_check_magic),
3513         (gst_registry_binary_load_pad_template),
3514         (gst_registry_binary_load_feature),
3515         (gst_registry_binary_load_plugin),
3516         (gst_registry_binary_read_cache):
3517         * gst/gstregistrybinary.h:
3518           Use glib types, cleanup comments, impement interfaces and uri-types.
3520 2007-01-13  Andy Wingo  <wingo@pobox.com>
3522         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
3523         getrange() to return buffers with other caps, while we fix
3524         demuxers and typefind, or otherwise change part-negotiation.txt.
3526 2007-01-12  Andy Wingo  <wingo@pobox.com>
3528         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
3529         Factor start/stop into this private function instead of partially
3530         in activate functions and partially in the change_state function.
3531         Fixes setup before the element has changed from READY->PAUSED, as
3532         is the case in pull-mode pipelines.
3533         (gst_base_transform_sink_activate_push)
3534         (gst_base_transform_src_activate_pull): Refactor to use
3535         gst_base_transform_activate().
3536         (gst_base_transform_change_state): Removed, not needed any more.
3538         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3539         Truncate before fixating.
3540         
3541         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
3542         Don't set_caps() if the result of fixating is ANY, as it's not
3543         supported, and not necessary in the case of a link with no
3544         template caps on either side. Fixes tests/check/libs/basesrc in
3545         some pull-mode tests.
3547         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
3548         (gst_base_transform_init, gst_base_transform_sink_activate_push)
3549         (gst_base_transform_src_activate_pull): 
3550         Track the activation mode.
3551         (gst_base_transform_setcaps): In pull mode, when activating the
3552         src pad, after activating the sink pad, activate the sink pad's
3553         peer, as discussed in part-negotiation.txt.
3555         * libs/gst/base/gstbasesrc.h: 
3556         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
3557         vmethod, as in basesink.
3559         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
3561         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
3562         mode, first proxy the setcaps to the peer pad.
3563         (gst_base_sink_pad_fixate): Add a fixate function that calls the
3564         new fixate vmethod.
3565         (gst_base_sink_default_activate_pull): Rename from
3566         gst_base_sink_activate_pull.
3567         (gst_base_sink_negotiate_pull): New function, performs negotiation
3568         in pull mode before calling ::activate_pull().
3569         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
3570         vmethod instead of the default implementation. I have no idea how
3571         this worked before. Negotiate before calling activate_pull.
3573         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
3574         sink pads in pull mode. In addition to being correct, fixes
3575         filesrc ! decodebin ! identity ! fakesink.
3576         (gst_pad_get_range, gst_pad_pull_range): Don't call
3577         gst_pad_set_caps() if the caps changes; instead error out with
3578         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
3580 2007-01-12  Andy Wingo  <wingo@pobox.com>
3582         * docs/design/part-negotiation.txt: Update with more policy.
3584 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3586         * libs/gst/check/gstbufferstraw.h:
3587         * libs/gst/check/gstcheck.h:
3588           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
3589           belongs.
3591 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3593         * tests/check/Makefile.am:
3594         * tests/check/gst/.cvsignore:
3595         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
3596         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
3597         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
3598         (GST_START_TEST), (gst_tag_setter_suite):
3599           Add minimal unit test for beforementioned GstTagSetter bug.
3601 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
3603         Patch by: René Stadler <mail at renestadler dot de>
3605         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3606           gst_tag_list_merge() returns a new list, so it's not the best idea
3607           to ingore its return value. Effectively meant that tags could only
3608           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
3609           Also add function guard to require a non-NULL taglist as input (has
3610           always been so due to gst_tag_list_copy(), just making it explicit).
3612 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3614         * docs/random/draft-missing-plugins.txt:
3615           Some additions: mention new API that is supposed to be used at the
3616           various stages; short blob about new gst-inspect introspection
3617           option; mention potential future problem with plugins that have
3618           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
3620 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3622         * tools/gst-inspect.c:
3623         (print_plugin_automatic_install_info_codecs),
3624         (print_plugin_automatic_install_info_protocols),
3625         (print_plugin_automatic_install_info), (main):
3626         Add --print-plugin-auto-install-info option to gst-inspect, so we can
3627         introspect plugin files and get machine-parsable output that corresponds
3628         to the last bit of the missing-plugin installer string (small gotcha:
3629         doesn't take into account ranks).
3631 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
3633         * configure.ac:
3634         * docs/gst/gstreamer-sections.txt:
3635         * gst/Makefile.am:
3636         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
3637         (gst_registry_lookup_locked):
3638         * gst/gstregistry.h:
3639         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3640         (gst_registry_binary_initialize_magic),
3641         (gst_registry_binary_save_string),
3642         (gst_registry_binary_save_pad_template),
3643         (gst_registry_binary_save_feature),
3644         (gst_registry_binary_save_plugin),
3645         (gst_registry_binary_write_cache),
3646         (gst_registry_binary_check_magic),
3647         (gst_registry_binary_load_pad_template),
3648         (gst_registry_binary_load_feature),
3649         (gst_registry_binary_load_plugin),
3650         (gst_registry_binary_read_cache):
3651         * gst/gstregistrybinary.h:
3652         * gst/gstregistryxml.c: (load_feature),
3653         (gst_registry_xml_read_cache):
3654           commit binary registry (disabled by default, see #359653)
3656 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3658         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
3659           Fix 'make check' too.
3661 2007-01-10  Andy Wingo  <wingo@pobox.com>
3663         * docs/design/part-negotiation.txt: Fix a typo, add a couple
3664         notes.
3665         
3666         * docs/design/part-negotiation.txt: Update with, um, one way that
3667         pull-mode negotiation might work?
3669         * gst/gstpad.h: 
3670         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
3671         that the pad must be a src pad; makes sense to call it the other
3672         way in pull mode, and the logic is symmetric anyway.
3674 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3676         * plugins/elements/gstfilesink.c:
3677           Include <stdio.h> for fseeko().
3679 2007-01-10  Wim Taymans  <wim@fluendo.com>
3681         * gst/gstevent.c:
3682         * gst/gstevent.h:
3683         Reserve LATENCY event.
3685 2007-01-09  Wim Taymans  <wim@fluendo.com>
3687         * docs/design/draft-latency.txt:
3688         Updates.
3690 2007-01-09  Wim Taymans  <wim@fluendo.com>
3692         * docs/design/draft-latency.txt:
3693         Updates.
3695         * gst/gstelement.h:
3696         * gst/gststructure.c:
3697         * gst/gsttrace.c:
3698         Small typo fixes.
3700 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3702         * tests/check/.cvsignore:
3703           Ignore test-registry.xml as well.
3705 2007-01-09  Wim Taymans  <wim@fluendo.com>
3707         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3708         unref data at the end when we are done with the pad.
3710 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3712         * docs/gst/gstreamer-sections.txt:
3713         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
3714         (init_post), (gst_deinit), (gst_update_registry):
3715         * gst/gst.h:
3716           API: add gst_update_registry() (#391296).
3718         * tests/check/Makefile.am:
3719         * tests/check/gst/gstregistry.c:
3720         * tests/check/gst/.cvsignore:
3721           Simple unit test for the above.
3723 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3725         * gst/gstregistry.c: (gst_registry_scan_path_level):
3726           Plugin extension on HP-UX is .sl, add that to the list of approved
3727           plugin extensions (see #393796).
3729         * tests/check/gst/gstpad.c: (GST_START_TEST):
3730           ulong => gulong. Fixes compilation with HP-UX compiler.
3732         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
3733           Fix compilation if valgrind headers are not available.
3735 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
3737         * win32/common/libgstreamer.def: 
3738           Add new exported function.
3739         * win32/vs6/libgstbase.dsp: 
3740           Add gstdataqueue.c to the build.
3741         * win32/vs6/libgstcoreelements.dsp:
3742           Add gstmultiqueue.c to the build.
3743         
3744 2007-01-06  Andy Wingo  <wingo@pobox.com>
3746         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
3747         activate_pull(), providing for a way to specialize the process of
3748         spawning a thread to pull on the sink pad. There is a default
3749         implementation.
3751         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
3752         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
3753         (gst_base_sink_init): Renamed pad activation functions (inserting
3754         "_pad" in their names). Refactor to use the new activate_pull
3755         vmethod, as appropriate.
3756         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
3757         default activate_pull function to start a task pulling from the
3758         sink pad, as before.
3760         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
3761         on the pads if necessary, as in push()/chain(). Update docs.
3762         Shouldn't affect existing pull() usage as it is currently only
3763         being used on buffers without caps.
3765 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3767         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
3768         (init_pre):
3769           Call g_thread_init() first thing in gst_init() / gst_check_init().
3770           When initialisation is done via gst_init_get_option_group() and
3771           GOption parsing, issue a warning if the GLib thread system has not
3772           been initialised yet by the time gst_init_get_option_group() is
3773           called, as it's quite likely other GLib functions such as
3774           g_option_context_new() have been called already then, and
3775           g_thread_init() must be called before any other GLib function. The
3776           application in question must be fixed in that case, since memory
3777           corruption might happen otherwise.
3778           We issue the warning because even if the GLib folks decide to work
3779           around the problem on their end in future, this is still an issue
3780           with all GLib versions >= 2.10.0, so we should warn until we depend
3781           on a GLib version we know to be safe.
3782           Update documentation as well.
3783           Closes bug #391278.
3785 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3787         * tools/gst-inspect.c: (main):
3788         * tools/gst-launch.c: (main):
3789         * tools/gst-typefind.c: (main):
3790         * tools/gst-xmlinspect.c: (main):
3791           Call g_thread_init() really really early, before any other GLib
3792           function (see #342564 and recent discussion on gtk-devel-list).
3794 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3796         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
3798         * gst/gst_private.h:
3799         * gst/gstconfig.h.in:
3800         * gst/gstinfo.h:
3801           On win32, all the __declspec stuff for symbol exporting is
3802           apparently only needed with MSVC, but doesn't work with MingW.
3803           Fixes compilation with MingW and #391909.
3805 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3807         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
3808           Change some GST_ERROR_OBJECT that aren't really errors to
3809           GST_WARNING_OBJECT in order to reduce terminal spam.
3811 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3813         * tests/check/Makefile.am:
3814           disable test again, as there seem to be still race problems
3816 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
3818         * tests/check/Makefile.am:
3819         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3820         (GST_START_TEST), (queue_suite):
3821           enable queue test again, add tests for the leaky behaviour
3823 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
3825         * configure.ac:
3826         * tests/examples/Makefile.am:
3827           Compile adapter test/example only if the required headers are
3828           available (fixes #391915).
3830 2007-01-01  David Schleef  <ds@schleef.org>
3832         * gst/gstplugin.c:
3833           Restore the previous signal handler for SIGSEGV instead of
3834           setting to default, since we may have stolen it away from
3835           someone.  (i.e., Mono)
3837 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3839         * docs/random/draft-missing-plugins.txt:
3840           Some small additions and clarifications.
3842 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
3844         * gst/gstregistryxml.c: (gst_registry_save_escaped):
3845           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
3846           since that can lead to random memory corruptions and crashes
3847           (may or may not be related to #383244, #386711, and #386711).
3849 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3851         * tests/check/.cvsignore:
3852         * tests/check/Makefile.am:
3853           sync .cvsignome and CLEANFILES
3855 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3857         * tests/check/Makefile.am:
3858           fix distcheck
3860 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3862         * docs/design/part-states.txt:
3863           two tiny additional comments
3864         
3865         * gst/gststructure.c:
3866           doc fixing
3868         * tests/check/Makefile.am:
3869         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3870         (GST_START_TEST):
3871           disable test for now, unless it gets fixed
3873 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3875         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3876         (GST_START_TEST):
3877           fix race in underrun test
3879 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3881         * tests/check/elements/.cvsignore:
3882           ignore more
3884         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3885         (GST_START_TEST):
3886           try to narrow test failure
3888 2006-12-21  David Schleef  <ds@schleef.org>
3890         * plugins/elements/gstfakesrc.c:
3891           Use g_random_int_range(), since it produces better random
3892           numbers in a range than almost-correct floating point code.
3894 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
3896         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3897         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3898         (gst_check_teardown_sink_pad):
3899           do not automatically (de)activate pads
3901         * tests/check/Makefile.am:
3902         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
3903         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
3904           add new, yet simple tests for queue
3906         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
3907         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
3908         * tests/check/elements/filesrc.c: (cleanup_filesrc),
3909         (GST_START_TEST):
3910         * tests/check/elements/identity.c: (cleanup_identity):
3911           consistent pad (de)activation
3913 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3915         Patch by: Sebastian Dröge  <slomo ubuntu com>
3917         * libs/gst/base/gstcollectpads.c:
3918           Fix two doc typos (#387866).
3920 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3922         * docs/manual/advanced-dparams.xml:
3923           Fix typo (g_object_control_properties() doesn't exist).
3925 2006-12-19  Edward Hervey  <edward@fluendo.com>
3927         * gst/gstsegment.c: (gst_segment_set_seek):
3928         Fine tune the cases where the segment start/stop values are really
3929         updated.
3930         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3931         Add tests for the return values of gst_segment_set_seek().
3933 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
3935         * gst/gst.c:
3936           Docs typo fix.
3938         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3939         (gst_queue_init):
3940           Fix incorrect documentation and flesh it out a bit more.
3941           Set default values for the max properties on the GParamSpec as well,
3942           so it shows up correctly in gst-inspect.
3944 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
3946         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3947           Correct docs of queue, add more detail and crosslink it more.
3949 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3951         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
3952           Print additional debug info when the stream isn't perfectly
3953           timestamped; don't try to use invalid durations.
3955 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3957         * docs/design/Makefile.am:
3958           Dist new design docs.
3960 2006-12-16  Wim Taymans  <wim@fluendo.com>
3962         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3964         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
3965         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3966         (gst_collect_pads_stop), (gst_collect_pads_event),
3967         (gst_collect_pads_chain):
3968         * libs/gst/base/gstcollectpads.h:
3969         Add refcounting to the collectpads data so we can track when it's safe
3970         to free the data. Fixes #383382.
3972 2006-12-15  Wim Taymans  <wim@fluendo.com>
3974         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3975         (gst_collect_pads_remove_pad):
3976         Automatically activate/deactivate pads when they are added to a
3977         started/stoped collectpads.
3979 2006-12-15  Wim Taymans  <wim@fluendo.com>
3981         * gst/gstelement.c: (gst_element_add_pad):
3982         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3983         * gst/gstpad.c: (gst_pad_init):
3984         Set pads to FLUSHING when they are created. Check, warn and fix when a
3985         demuxer adds an inactive pad to itself when running. Fixes #339326.
3987 2006-12-15  Wim Taymans  <wim@fluendo.com>
3989         * gst/gstelement.c: (gst_element_class_init),
3990         (gst_element_default_send_event), (gst_element_send_event),
3991         (gst_element_default_query), (gst_element_query):
3992         Expose default element send_event and query handling as vmethods that
3993         subclasses can chain up to.
3995 2006-12-15  Wim Taymans  <wim@fluendo.com>
3997         * gst/gstelement.c: (gst_element_set_state_func):
3998         Small documentation fixes.
4000 2006-12-15  Wim Taymans  <wim@fluendo.com>
4002         * docs/design/draft-latency.txt:
4003         Checked in draft for handling latency in pipelines.
4005 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4007         * Makefile.am:
4008         * gstreamer.doap:
4009         * gstreamer.spec.in:
4010           adding .doap file
4012 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
4014         * gst/gst.c: (init_pre), (init_post):
4015           init_pre() and init_post() might be called via our GOptionGroup or
4016           from gst_init(), and we should skip both of them if we've already
4017           been initialised, otherwise we will init some things twice or add
4018           two default log functions.
4020 2006-12-13  Edward Hervey  <edward@fluendo.com>
4022         * docs/manual/basics-bus.xml:
4023         No, gst_main_loop does not exist. Its g_main_loop.
4024         Discovered by somebody who abused the copy-paste technique of coding :)
4026 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4028         * gst/gstghostpad.c:
4029           Log ghostpad debug stuff to the GST_PADS category as well rather
4030           than just to the default category.
4032 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4034         * configure.ac:
4035         * gst/gst.c: (init_pre):
4036           Add some basic system details such as OS and architecture
4037           to the debug output if possible, courtesy of uname().
4039 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4041         * docs/gst/running.xml:
4042           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
4043           environment variables.
4045 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4047         * tests/check/gst/gstbin.c: (GST_START_TEST):
4048         It is acceptable to have a refcount of 2 or 3 at this point in the
4049         test, because the pipeline might be just posting its state_change
4050         message. The next line then waits for that message to appear using
4051         bus_poll, so that should be fine too.
4053 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
4055         * gst/gst.c: (ensure_current_registry_forking):
4056         Ignore EINTR when reading from the child registry pipe.
4057         Explicitly ignore the return value from close, since it makes no
4058         difference.
4060         * gst/gstminiobject.c: (gst_mini_object_ref),
4061         (gst_mini_object_unref):
4062         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
4064         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
4065         When removing cached plugins, remove their features too, so they're
4066         not visible after they've disappeared.
4068         * gst/gstutils.c: (prepare_link_maybe_ghosting):
4069         In the unlikely case that we are linking pads with no parents, don't
4070         crash trying to get the non-existent parent bin.
4072         * gst/parse/grammar.y:
4073         Output debug in the PIPELINE category
4075 2005-03-08  Wim Taymans  <wim@fluendo.com>
4077         Patch by: René Stadler <mail at renestadler dot de>
4079         * gst/gstclock.c: (gst_clock_new_periodic_id):
4080         Reject invalid clock times for interval of periodic ids.
4081         Fixes ##383506.
4083 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
4085         * gst/gstelementfactory.c: (gst_element_factory_create):
4086         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4087         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4088         * tools/gst-inspect.c: (print_element_info):
4089         Fix refcounting of gst_plugin_feature_load to match the docs. 
4090         Fixes: #380129
4092 2006-12-07  Wim Taymans  <wim@fluendo.com>
4094         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4095         (gst_base_sink_get_position):
4096         Improve debugging of events.
4098 2006-12-07  Wim Taymans  <wim@fluendo.com>
4100         Patch by: René Stadler <mail at renestadler dot de>
4102         * gst/gstclock.c: (gst_clock_id_wait):
4103         Make period ids add the interval to the origial requested time instead
4104         of the possibly updated time which can be wrong when there are multiple
4105         waiters for the same id. Fixes #382592.
4107         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
4108         (gst_system_clock_id_wait_jitter_unlocked),
4109         (gst_system_clock_id_wait_jitter):
4110         Fix restart in the async notify thread when an async entry is added to
4111         the front of the list. Fixes #381492. 
4113         * tests/check/gst/gstsystemclock.c: (store_callback),
4114         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
4115         Added test for multiple async waits.
4116         Added test for async wait order.
4118 2006-12-07  Wim Taymans  <wim@fluendo.com>
4120         * gst/gstbin.c: (gst_bin_query):
4121         Add some more docs about the POSITION query.
4123 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
4125         * configure.ac:
4126         Bump version nano - back to CVS.
4128 === release 0.10.11 ===
4130 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
4132         * configure.ac:
4133           releasing 0.10.11, "Love never runs on time"
4135 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
4137         * win32/common/libgstbase.def:
4138         * win32/common/libgstreamer.def:
4139         * win32/vs8/libgstbase.vcproj:
4140         * win32/vs8/libgstcoreelements.vcproj:
4141         * win32/vs8/libgstreamer.vcproj:
4142         Fix compilation on win32 under VS8
4143         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
4144         Partially fixes #381175
4146 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
4148         * gst/gstvalue.c: (gst_value_compare_fraction):
4149         If someone is foolish enough to compare 2 fractions with denominator =
4150         0, return UNORDERED rather than aborting.
4152 2006-11-28  Edward Hervey  <edward@fluendo.com>
4154         * libs/gst/base/Makefile.am:
4155         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
4156         (gst_data_queue_base_init), (gst_data_queue_class_init),