libs/gst/controller/gstinterpolation.c: Add support for retrieving value arrays when...
[platform/upstream/gstreamer.git] / ChangeLog
index ec084a5..294e2ba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,913 @@
+2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * libs/gst/controller/gstinterpolation.c:
+       (interpolate_trigger_get_enum_value_array),
+       (interpolate_trigger_get_string_value_array):
+       Add support for retrieving value arrays when using the trigger
+       interpolation mode. 
+
+2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * libs/gst/controller/gstcontroller.c:
+       (gst_controller_get_value_array):
+       * libs/gst/controller/gstcontroller.h:
+       Clarify the docs of gst_controller_get_value_array(): The array where
+       the values should be written to must be allocated as there seems to be
+       no way to get the size of a random GType. This doesn't change any
+       behaviour. Also fix some typos all over the place and remove an unused,
+       commented function that is not necessary as g_object_set() could be
+       used instead.
+       * tests/check/libs/controller.c: (GST_START_TEST),
+       (gst_controller_suite):
+       Add unit test for gst_controller_get_value_array().
+
+2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * tests/check/gst/gstbuffer.c: (GST_START_TEST):
+
+       Disable part of the gst_buffer_try_new_and_alloc test, because
+       it can happily succeed on 64-bit systems where there's more address
+       space available.
+
+2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
+       Add unit test for the improved caps checking from bug #421543.
+
+2007-05-21  Wim Taymans  <wim@fluendo.com>
+
+       * docs/design/part-synchronisation.txt:
+       Small addition.
+
+       * gst/gstbin.c: (gst_bin_query):
+       * plugins/elements/gstqueue.c: (apply_segment):
+       Improve debugging.
+
+       * gst/gstmessage.h:
+       Improve docs.
+
+2007-05-21  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstpad.c: (gst_pad_get_caps_unlocked),
+       (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
+       (gst_pad_configure_src):
+       Added simple version of improved caps checking. It was previously
+       assumed that a setcaps function would check the validity of the caps but
+       people prefer us to check caps against the template automatically. 
+       Fixes #421543.
+
+2007-05-21  Wim Taymans  <wim@fluendo.com>
+
+       * libs/gst/base/gstbasetransform.h:
+       Fix macro for locking/unlocking the transform lock.
+
+2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * docs/plugins/tmpl/.cvsignore:
+         Ignore more.
+
+2007-05-18  Edward Hervey  <edward@fluendo.com>
+
+       * plugins/elements/gstqueue.c: (gst_queue_loop):
+       Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
+       for the subtle art of warning a potentially blocking thread that it
+       should check the source pad return value, and relay the information
+       upstream.
+
+2007-05-18  Edward Hervey  <edward@fluendo.com>
+
+       * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
+       Release the queue lock !
+
+2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * docs/libs/gstreamer-libs-sections.txt:
+       Add the two new controller functions to the appropiate places.
+
+2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       reviewed by: Stefan Kost <ensonic@users.sf.net>
+
+       * libs/gst/controller/gstcontroller.c:
+       (gst_controller_suggest_next_sync), (gst_controller_sync_values),
+       (_gst_controller_get_property), (_gst_controller_set_property),
+       (_gst_controller_init), (_gst_controller_class_init):
+       * libs/gst/controller/gstcontroller.h:
+       * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
+       (gst_object_get_control_rate), (gst_object_set_control_rate):
+       API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
+       Add API that provides sync suggestion timestamps for elements that
+       call gst_object_sync_values() from which those elements can subdivide
+       their processing loop to get the best results for the controlled
+       properties. For now it just suggests last_sync + control_rate as
+       new timestamp but this will be improved in the future.
+
+       While doing that change the control-rate property to a GstClockTime
+       from guint and change it's meaning from samples to nanoseconds as
+       the GstController doesn't know anything about sampling rate. Strictly
+       speaking this breaks ABI but as the control-rate property didn't do
+       anything in the past and as such couldn't be used this should be no
+       problem.        
+
+2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       reviewed by: Stefan Kost <ensonic@users.sf.net>
+
+       * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
+       (gst_controller_unset_all):
+       * libs/gst/controller/gstcontrollerprivate.h:
+       * libs/gst/controller/gstinterpolation.c:
+       (gst_controlled_property_find_control_point_node):
+       Save last synced value from the list to continue searching from there
+       in future syncs. This speeds everything up a bit.
+       
+2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       reviewed by: Stefan Kost <ensonic@users.sf.net>
+
+       * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
+       (gst_control_point_find), (gst_controlled_property_new),
+       (gst_control_point_free), (gst_controlled_property_free),
+       (gst_controller_set), (gst_controller_set_from_list),
+       (gst_controller_unset), (gst_controller_unset_all),
+       (gst_controller_sync_values):
+       * libs/gst/controller/gstcontroller.h:
+       * libs/gst/controller/gstcontrollerprivate.h:
+       * libs/gst/controller/gstinterpolation.c:
+       (gst_controlled_property_find_control_point_node),
+       (interpolate_none_get), (interpolate_trigger_get):
+       Add a new private GstControlPoint struct which "inherits" from
+       GstTimedValue to allow different interpolators to store internal
+       values next to each control point. From the outside everything is
+       still a GstControlPoint so we don't loose binary compatibility.
+       Also fixup all the GValue handling to not leak GValues or list nodes.
+       * tests/check/libs/controller.c: (GST_START_TEST):
+       Free the list nodes and GValues in the controller_misc test.
+
+2007-05-17  Edward Hervey  <edward@fluendo.com>
+
+       * gst/gstsegment.c:
+       Small doc fix.
+
+2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/gstplugin.c: (gst_plugin_load_file):
+         If we fail to load a plugin because of unresolved symbols or missing
+         libraries and spew a warning to stderr, we may just as well mention
+         which plugin it was that failed to load.
+
+2007-05-13  David Schleef  <ds@schleef.org>
+
+       * docs/Makefile.am: the gtk-doc makefile snippet correctly
+         handles the case when ENABLE_GTK_DOC is false, and installs
+         the prebuilt documentation.  So gtk-doc subdirs are 
+         unconditionally enabled.  Fixes: #349099.
+
+2007-05-13  David Schleef  <ds@schleef.org>
+
+       * gst/gstutils.h: Reword some documentation.
+
+2007-05-12  David Schleef  <ds@schleef.org>
+
+       * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
+         do anything with the passed "module" parameter, so remove it.
+         Allows removal of additional vestigal code.
+
+2007-05-12  David Schleef  <ds@schleef.org>
+
+       * gst/gstplugin.c:
+         Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
+         Switch to using g_stat() because it's more portable.
+
+2007-05-12  David Schleef  <ds@schleef.org>
+
+       * gst/gst.c:
+         Add GST_DISABLE_OPTION_PARSING, in order to disable option
+         parsing for embedded systems.
+       * gst/gstelementfactory.c:
+         Allow gst_element_register() to be called with plugin==NULL.
+         Did nobody notice that static elements were broken?
+
+2007-05-12  Wim Taymans  <wim@fluendo.com>
+
+       * tools/gst-launch.c: (event_loop):
+       Give more interesting info when buffering starts and stops.
+       Fix case where buffering starts but we fail to update the buffering flag
+       because the target state is not PLAYING.
+
+2007-05-12  Wim Taymans  <wim@fluendo.com>
+
+       * plugins/elements/gstqueue.c: (gst_queue_init),
+       (gst_queue_finalize), (update_time_level), (apply_segment),
+       (apply_buffer), (gst_queue_locked_flush),
+       (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
+       (gst_queue_handle_sink_event), (gst_queue_chain),
+       (gst_queue_push_one), (gst_queue_loop):
+       * plugins/elements/gstqueue.h:
+       Refactor an cleanup queue a bit.
+       Do better time level calculations that also work when the srcpad is not
+       yet running.
+       Remove some unneeded debug lines.
+
+       * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
+       Added testcase for time level measurement.
+       Try to make some stuff more racefree.
+
+2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/gsturi.c: (gst_element_make_from_uri):
+         Don't leak plugin feature.
+
+       * tests/check/Makefile.am:
+       * tests/check/gst/.cvsignore:
+       * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
+         Add brain-dead unit test.
+
+2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
+
+       Patch by: Jeroen Wouters <woutersj at gmail com>
+
+       * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
+         Treat protocol strings in a case-insensitive way (#437563).
+
+2007-05-11  Michael Smith <msmith@fluendo.com>
+
+       * gst/gstplugin.c: (gst_plugin_load_file):
+       * gst/gstregistry.c: (gst_registry_scan_path_level):
+         Don't print a g_warning for any failure to load a shared object.
+         Instead, push this down into gstplugin.c, and warn _only_ if we
+         failed to open the module (i.e. failure to link).
+         Avoids warnings on normal, working, non-plugin .so files.
+
+2007-05-11  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstplugin.c (gst_plugin_load_file):
+       * gst/gstregistry.c (GST_CAT_DEFAULT,
+         gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
+         Print a g_warning if there was an error when loading a plugins during
+         registry scan. The shuld help beginners starting with gst-plugin
+         template.
+
+2007-05-10  Wim Taymans  <wim@fluendo.com>
+
+       * plugins/elements/gstqueue.c: (gst_queue_class_init),
+       (update_time_level), (gst_queue_locked_flush),
+       (gst_queue_handle_sink_event), (gst_queue_chain),
+       (gst_queue_push_one), (gst_queue_loop):
+       * plugins/elements/gstqueue.h:
+       Be smarter when calculating the current amount of data in the queue by
+       measuring the difference between start and end timestamps (in running
+       time) inside the queue. Fixes #432876.
+       API: GstQueue::pushing to notify elements that we are pushing data again
+       since the running signal is rather broken for this purpose.
+
+2007-05-10  Stefan Kost  <ensonic@users.sf.net>
+
+       * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
+         gst_queue_base_init, gst_queue_init):
+         use GST_BOILERPLATE
+
+2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
+
+       * win32/common/libgstreamer.def:
+       Add new exported functions.
+       * win32/vs6/grammar.dsp:
+       Use grammar pre-generated files.
+
+2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
+
+       Based on patch by: Peter Kjellerstedt  <pkj at axis com>
+
+       * gst/Makefile.am:
+       * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
+       * gst/gstparse.h:
+       * gst/gstutils.c: (gst_parse_bin_from_description):
+       * gst/gstutils.h:
+         Maintain API and ABI when --disable-parse is used. Now that
+         we have an appropriate error code, we can just return NULL and the
+         appropriate error when gst_parse_launch() is used despite it having
+         been disabled (#342564).
+
+       * tests/check/Makefile.am:
+       * tests/check/pipelines/.cvsignore:
+       * tests/check/pipelines/parse-disabled.c:
+         Make sure these functions exist and return NULL plus a GError when
+         --disable-parse is used.
+
+2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * tests/benchmarks/complexity.c: (main):
+       * tests/benchmarks/mass-elements.c: (main):
+         Set a good example and don't leak messages.
+
+2007-05-06  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/gst/Makefile.am:
+       * docs/libs/Makefile.am:
+         Correct fixxrefs options.
+
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gstreamer-plugins-docs.sgml:
+       * docs/plugins/gstreamer-plugins-sections.txt:
+       * plugins/elements/Makefile.am:
+       * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
+       * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
+         GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
+         GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
+         GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
+         _GstCapsFilterClass, trans_class):
+       * plugins/elements/gstelements.c (name, rank, type, _elements):
+       * plugins/elements/gstidentity.c
+         (gst_identity_check_imperfect_timestamp,
+         gst_identity_check_imperfect_offset):
+         Document capsfilter and add doc-blurb to identity.
+
+2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * libs/gst/controller/gstcontroller.c:
+       (gst_controlled_property_set_interpolation_mode):
+       * libs/gst/controller/gstinterpolation.c:
+         Don't crash if someone tries to set an interpolation mode that
+         is invalid or that isn't supported yet. Fixes #422295.
+
+       * tests/check/libs/controller.c: (GST_START_TEST),
+       (gst_controller_suite):
+         Add a test case for the above.
+
+2007-05-03  Edward Hervey  <edward@fluendo.com>
+
+       * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
+       Properly set the last_stop position on GstSegment. This will only happen
+       if there is a buffer to push out.
+
+2007-05-03  Wim Taymans  <wim@fluendo.com>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_buffer_alloc):
+       always_in_place does not mean that the sink and source caps are the
+       same! Make sure we don't blindly proxy the buffer_alloc in this case.
+
+2007-05-03  Wim Taymans  <wim@fluendo.com>
+
+       * docs/libs/gstreamer-libs-sections.txt:
+       * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
+       (gst_base_src_default_query), (gst_base_src_get_range):
+       * libs/gst/base/gstbasesrc.h:
+       API: gst_base_src_query_latency(). Added method so that subclasses can
+       easily get the latency values of the base source class.
+
+2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
+
+       * tools/gst-inspect.c (print_implementation_info):
+       Remove 0.8 cruft.
+
+2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * tools/Makefile.am:
+       * tools/gst-launch.1.in:
+         Don't create a customised man page based on the host architecture,
+         describe the default registry path generically. That way the man
+         page is the same for all architectures and packagers have one
+         multilib issue less to deal with. Fixes #434926.
+
+2007-05-02  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstpad.c:
+       Fix documentation as spotted by rg on IRC. 
+
+2007-04-29  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstutils.c:
+         Improve docs for gst_element_{link,unlink}.
+
+2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * docs/design/part-events.txt:
+       * docs/design/part-overview.txt:
+       * gst/gstevent.c:
+       * gst/gsturi.c:
+       * gst/gsturi.h:
+       * libs/gst/base/gstbasesink.c:
+         Typo fixes; minor docs addition.
+
+2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gsturi.c: (get_element_factories_from_uri_protocol),
+       (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
+       * gst/gsturi.h:
+       API: Add gst_uri_protocol_is_supported(), which checks if an sink
+       or src that supports a given URI protocol exists.
+
+2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
+       * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
+       Set the location to NULL if "file://" is set as URI. Otherwise
+       some random previous URI would still be set if "file://" is
+       set on an already used filesink/filesrc.
+
+2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
+       * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
+       Special case the "file://" URI as as this is used by some
+       applications to test with gst_element_make_from_uri if there's
+       an element that supports the URI protocol.
+       Also move the g_path_is_absolute() check for the location part
+       of the URI to also check this for "file://localhost/bla" URIs.
+
+2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
+       * gst/gstbuffer.h:
+       * tests/check/gst/gstbuffer.c: (GST_START_TEST),
+       (gst_buffer_suite):
+         API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
+
+2007-04-26  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
+       (gst_registry_binary_load_pad_template),
+       (gst_registry_binary_load_plugin),
+       (gst_registry_binary_read_cache):
+       * gst/gstregistrybinary.h:
+         Implement no-mmap alternative for registry reading. Do code cleanups.
+         Add more comments about avoiding strdups for all text data. Comments
+         welcome.
+
+2007-04-25  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstregistrybinary.h (GstBinaryPluginElement,
+         GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
+         GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
+         Comment structs and reformat to fix the build (that stuff should go
+         into a priv. header).
+
+2007-04-25  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
+       (gst_registry_binary_load_feature):
+       * gst/gstregistrybinary.h:
+         Refactor so that we can implement multiple features. Add support for
+         TypeFindFactory features.
+
+2007-04-24  Stefan Kost  <ensonic@users.sf.net>
+
+       Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
+
+       * configure.ac:
+         Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
+
+2007-04-23  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstbin.c: (gst_bin_element_set_state),
+       (iterator_activate_fold_with_resync), (gst_bin_continue_func),
+       (bin_handle_async_done), (gst_bin_handle_message_func):
+         Fix build with --gst-disable-gst-debug
+
+2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
+         Make sure streaming has finished before calling the ::stop() vfunc,
+         since that vfunc might clear state which is being used in the
+         streaming thread. This fixes a race that caused crashes in
+         audioresample when shutting down a pipeline (#420106).
+
+2007-04-20  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/gst/gstreamer-sections.txt:
+         That was one byte missing.
+
+2007-04-20  Stefan Kost  <ensonic@users.sf.net>
+
+       * configure.ac:
+       * docs/gst/gstreamer-sections.txt:
+       * gst/Makefile.am:
+       * gst/gstconfig.h.in:
+       * gst/gstobject.c: (gst_object_class_init),
+       (gst_signal_object_class_init):
+       * gst/gstobject.h:
+         2nd attempt to have a xml-less build as a joined effort of #413123
+         and #421480.
+
+2007-04-20  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/design/draft-tagreading.txt:
+         Added open issues/thoughts to draft.
+
+2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/parse/grammar.tab.pre.c:
+       * gst/parse/grammar.tab.pre.h:
+       * gst/parse/lex._gst_parse_yy.pre.c:
+       Update the prebuild parser sources.
+
+2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/parse/Makefile.am:
+       And now fix the building of the flex sources. Now everything should
+       work as expected.
+
+2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/parse/Makefile.am:
+       Now hopefully fix the build failures by setting proper rule
+       dependencies and moving instead of copying.
+
+2007-04-19  Stefan Kost  <ensonic@users.sf.net>
+
+       * tests/benchmarks/complexity.gnuplot:
+       * tests/benchmarks/complexity.scm:
+       * tests/benchmarks/mass-elements.gnuplot:
+       * tests/benchmarks/mass-elements.scm:
+         Total licensification.
+
+2007-04-19  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/parse/Makefile.am:
+         Fix the build by correcting the rule that gave wrong files to flex.
+
+2007-04-19  Stefan Kost  <ensonic@users.sf.net>
+
+       * tests/benchmarks/complexity.c:
+       * tests/benchmarks/mass-elements.c:
+         Change licence to LGPL as granted by Benjamin and Andy.
+
+2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/parse/Makefile.am:
+       Add correct grammar.tab.h dependency if compiling without new enough
+       flex. Fixes #431150.
+
+2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/parse/Makefile.am:
+       Fix typo and use outdated sources if the flex/bison sources are newer
+       than the pregenerated ones but flex is too old. Print a warning in
+       that case. This should fix the build on the build bot.
+
+2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
+       * gst/parse/Makefile.am:
+       * gst/parse/grammar.y:
+       * gst/parse/parse.l:
+       Make the parser reentrant and recursively callable. This requires flex
+       >= 2.5.31, for older versions pregenerated sources are used as we
+       can't bump the build dependency. Finally fixes #349180.
+
+       * gst/gstparse.c: (gst_parse_launch):
+       Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
+       now anyway.
+
+       * docs/gst/Makefile.am:
+       * docs/gst/Makefile.am:
+       * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
+       (__gst_parse_strfree), (__gst_parse_link_new),
+       (__gst_parse_link_free), (__gst_parse_chain_new),
+       (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
+       (gst_parse_element_set), (gst_parse_free_link),
+       (gst_parse_found_pad), (gst_parse_perform_delayed_link),
+       (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
+       (_gst_parse_launch):
+       * gst/parse/grammar.tab.pre.h:
+       * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
+       (yy_get_previous_state), (yy_try_NUL_trans), (input),
+       (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
+       (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
+       (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
+       (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
+       (_gst_parse_yypop_buffer_state),
+       (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
+       (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
+       (yy_fatal_error), (_gst_parse_yyget_extra),
+       (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
+       (_gst_parse_yyget_in), (_gst_parse_yyget_out),
+       (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
+       (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
+       (_gst_parse_yyset_column), (_gst_parse_yyset_in),
+       (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
+       (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
+       (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
+       (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
+       (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
+       (_gst_parse_yyfree):
+       If the installed flex version is too old use pre-generated parser
+       sources. These pre-generated parser sources are always updated when
+       the actual flex/bison sources change but require everybody who wants
+       to change something in the parser to have flex >= 2.5.31 installed.
+
+2007-04-18  Stefan Kost  <ensonic@users.sf.net>
+
+       * common/m4/gst-gettext.m4:
+       * gst/gst-i18n-lib.h:
+         Make --disable-nls to work
+
+2007-04-17  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstconfig.h.in:
+       Revert previous change that broke the build.
+
+2007-04-17  Stefan Kost  <ensonic@users.sf.net>
+
+       * configure.ac:
+       * gst/Makefile.am:
+       * gst/gstconfig.h.in:
+         Drop libxml2 dependency when building with 
+         --enable-binary-registry --disable-loadsave
+
+2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
+       (gst_registry_binary_read_cache):
+       * gst/gstregistrybinary.h:
+         Remove unnecessary <sys/mman.h> include which broke the win32 build
+         with MingW; move includes from header file to .c file, even if the
+         header file isn't installed; use g_strerror() where UTF-8 strings
+         are expected, such as in GST_DEBUG messages.
+
+2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * docs/libs/gstreamer-libs-sections.txt:
+       Remove bogus addition for API I didn't end up keeping.
+
+       * libs/gst/base/gstbasesrc.h:
+       Mention Since: 0.10.13 in the documentation.
+
+       Add the API keyword to the previous ChangeLog entry.
+
+2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * docs/libs/gstreamer-libs-sections.txt:
+       * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
+       (gst_base_src_default_prepare_seek_segment),
+       (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
+       * libs/gst/base/gstbasesrc.h:
+       Allow basesrc derived classes to execute seeks in other formats
+       by providing a prepare_seek_segment vmethod. Sub-classes can choose
+       to prepare the GstSegment in any format that their perform_seek method
+       will be able to understand. The default implementation provides the
+       old behaviour of attempting to convert the seek offsets to the 
+       configured native format.
+
+       API: basesrc::prepare_seek_segment vmethod.
+
+2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * gst/gstelement.c: (gst_element_get_state_func):
+       Don't output the same debug statement twice.
+
+       * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
+       (gst_adapter_peek), (gst_adapter_take_buffer):
+       Optimise the case where we have buffers at the head of the queue that
+       can be joined quickly (because they're contiguous sub-buffers) by
+       merging them together rather than copying data out into new memory.
+
+       * gst/parse/grammar.y:
+       * tests/check/pipelines/parse-launch.c:
+       Fix a leak in an error path for parse_launch, and add a check 
+       for it to the testsuite.
+
+2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
+         Don't deadlock when releasing a pad - gst_pad_set_active may try
+         and take the multiqueue lock too.
+
+2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/gsterror.c: (_gst_core_errors_init):
+       * gst/gsterror.h:
+         API: add GST_CORE_ERROR_DISABLED (#392804).
+
+2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * docs/faq/gst-uninstalled:
+         don't get empty paths on the PATH variables
+       * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
+         Don't format for the uncommon terminal width of 84 characters.
+
+2007-04-06  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstpipeline.c: (reset_stream_time),
+       (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
+       Only try to select a different pipeline clock when we went back to
+       PAUSED and not when we merely got flushed.
+
+2007-04-05  Michael Smith  <msmith@fluendo.com>
+
+       * tools/gst-launch.1.in:
+         fractions are better supported in gstreamer than ractions, so
+         suggest using those.
+
+2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       Submitted by: Mogens Jaeger <mogens@jaeger.tf>
+
+       * po/LINGUAS:
+       * po/da.po:
+         Added Danish translation.
+
+2007-04-05  Wim Taymans  <wim@fluendo.com>
+
+       * libs/gst/base/gstbasesink.c:
+       (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
+       Fix leak caused when refusing newsegment after EOS.
+
+       * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
+       (gst_fake_sink_init), (gst_fake_sink_set_property),
+       (gst_fake_sink_get_property), (gst_fake_sink_preroll),
+       (gst_fake_sink_render), (gst_fake_sink_change_state):
+       * plugins/elements/gstfakesink.h:
+       Add num-buffers property to make the element generate EOS after a
+       configurable amount of buffers.
+       API: fakesink::num-buffers property.
+
+       * tests/check/elements/fakesink.c: (GST_START_TEST),
+       (fakesink_suite):
+       Fix GstBus leak in test.
+       Test for fakesink num-buffers.
+
+2007-04-05  Wim Taymans  <wim@fluendo.com>
+
+       * libs/gst/base/gstbasesink.c:
+       (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
+       (gst_base_sink_change_state):
+       Don't accept anything after an EOS, return UNEXPECTED instead.
+
+       * tests/check/elements/fakesink.c: (GST_START_TEST),
+       (fakesink_suite):
+       Unit test for new EOS behaviour.
+
+2007-04-05  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstelement.c: (gst_element_get_request_pad):
+       Make padtemplates also work when they don't contain %s or %d.
+
+2007-04-05  Wim Taymans  <wim@fluendo.com>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gstclock.c: (gst_clock_adjust_unlocked),
+       (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
+       * gst/gstclock.h:
+       Improve _adjust_unlocked() so that it overflows less.
+       Add gst_clock_unadjust_unlocked to convert from external time to
+       internal time based on calibration.
+       Add some more debug.
+       API: GstClock::gst_clock_unadjust_unlocked()
+
+2007-04-03  Wim Taymans  <wim@fluendo.com>
+
+       Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
+
+       * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
+       Deactivate pads and free GstSingleQueue with gst_single_queue_free()
+       when releasing sink pad. Fixes #425400.
+
+2007-04-02  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/random/ensonic/dynlink.txt:
+         More work on proposal for new core api.
+
+       * docs/libs/gstreamer-libs-sections.txt:
+       * libs/gst/base/gstbasetransform.h:
+          API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
+          
+       * libs/gst/controller/gstcontroller.c:
+       (on_object_controlled_property_changed),
+       (gst_controller_sync_values),
+       (gst_controller_set_interpolation_mode):
+       * libs/gst/controller/gstcontroller.h:
+         Less verbose logging add docs for unimplemented parts and correctly
+         return when using unavailable parts.
+
+2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
+       Move all the debug to the CLOCK category, and associate it with
+       the clock object.
+
+2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
+       Make take_buffer a bit quicker by removing redundant checks
+       caused by calling gst_adapter_take.
+
+2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
+         Don't leak GCond.
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/.cvsignore:
+       * tests/check/elements/multiqueue.c: (setup_multiqueue),
+       (GST_START_TEST), (multiqueue_suite):
+         Add some dead simple unit tests for the 'multiqueue' element
+         (some bits don't work yet and are disabled for now).
+
+2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/gstelement.c: (gst_element_get_request_pad),
+       (gst_element_class_get_request_pad_template):
+         Make gst_element_get_request_pad() create request pads only for
+         request pad templates and not for, say, sometimes pad templates.
+
+2007-03-28  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/design/draft-klass.txt:
+         Add example that needs more thinking.
+       
+       * docs/design/draft-missing-plugins.txt:
+         More thoughts about wrapper plugins.
+       
+       * docs/random/ensonic/embedded.txt:
+       * docs/random/ensonic/profiling.txt:
+         More design work.
+
+2007-03-25  Wim Taymans  <wim@fluendo.com>
+
+       * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
+       (gst_base_src_loop):
+       Only push the segment events in the PLAYING state for live sources.
+
+2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * gst/gstpipeline.c: (gst_pipeline_change_state):
+       Modify the clock distribution path in PAUSED->PLAYING so that we 
+       never attempt to choose a new clock unless we're actually leaving
+       the PAUSED state for the first time. This prevents choosing a
+       different clock when the state_change gets called for a 2nd time due
+       to some element doing an async state change.
+
+2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
+       (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
+       (gst_pad_chain_unchecked), (gst_pad_push):
+       Revert last commit. This needs some more thoughts.
+
+2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
+       (gst_pad_chain_unchecked), (gst_pad_push):
+       Check in set_caps if the caps are compatible with the pad and remove
+       two functions that are redundant now. Fixes #421543.
+
+2007-03-22  Wim Taymans  <wim@fluendo.com>
+
+       * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
+       (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
+       Unref some more to make valgrind happy.
+
+2007-03-22  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
+       (gst_system_clock_id_wait_jitter),
+       (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
+       Fix anoying regression that survived a few releases. When adding an
+       async entry while blocking on a sync entry, the sync entry will unblock
+       but still be busy, so it should continue to wait instead of returning
+       _BUSY to the app.
+       Add some comments here and there.
+
+       * tests/check/gst/gstsystemclock.c: (mixed_thread),
+       (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
+       Add testcase for this.
+
+2007-03-22  Wim Taymans  <wim@fluendo.com>
+
+       * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
+       Handle errors from the clock sync better, only UNSCHEDULED indicates a
+       WRONG_STATE and can silently pause the task. All other cases should
+       error out.
+
+2007-03-22  Wim Taymans  <wim@fluendo.com>
+
+       Patch by: <syrjala at sci dot fi>
+
+       * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
+       Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
+       Improve debugging.
+
+2007-03-21  Michael Smith  <msmith@fluendo.com>
+
+       * docs/pwg/advanced-types.xml:
+         Fix some errors in the typefinding docs pointed out on irc.
+
+2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * libs/gst/base/gstbasesrc.c:
+       Clarify FIXME comment in the face of having added unlock_stop()
+
+2007-03-21  Wim Taymans  <wim@fluendo.com>
+
+       * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
+       Prepare for release where we warn against possible app breakage in the
+       case of live pipelines along with an env var to enable/disable live
+       preroll mode (GST_COMPAT=[no-]live-preroll).
+
 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
 
        * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
 
        * configure.ac:
        * docs/gst/Makefile.am:
+       * docs/gst/gstreamer-sections.txt:
+       * docs/libs/Makefile.am:
+         Erm, forgot a bunch of --extra-dir.
+
+2007-02-12  Stefan Kost  <ensonic@users.sf.net>
+
+       * configure.ac:
+       * docs/gst/Makefile.am:
        * docs/libs/Makefile.am:
        * docs/plugins/Makefile.am:
          Add crossreferences to glib/gobject docs.