win32/common/config.h.in: Add GST_DATADIR, hard-code cpu to x86.
[platform/upstream/gstreamer.git] / ChangeLog
index c3ac8bf..e3b87c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,568 @@
+2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       * win32/common/config.h.in:
+         Add GST_DATADIR, hard-code cpu to x86.
+
+       * win32/common/libgstreamer.def:
+         Spaces to tabs.
+
+2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       * gst/gsttaglist.h:
+         Fix Since: markers for new geo tags.
+
+2008-09-02  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gsttaglist.h:
+         Fix actual tag name define after renaming from altitude to elevation.
+
+2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstpad.c: (add_unref_pad_to_list),
+       (gst_pad_get_internal_links_default):
+       Add fallback when calling the deprecated function on an element that
+       implements the new internal_link handler.
+
+2008-09-01  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gsttaglist.c:
+       * gst/gsttaglist.h:
+         Add new tags for geo location and clarify purpose of existing location
+         tag. Fixes #481169
+
+2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: Olivier Crete <tester at tester dot ca>
+
+       * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
+       (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
+       Use thread-safe internal links iterator. Fixes #549504.
+
+2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Based on patch by: Olivier Crete <tester at tester dot ca>
+
+       * docs/gst/gstreamer-sections.txt:
+       * win32/common/libgstreamer.def:
+       * gst/gstpad.c: (gst_pad_init),
+       (gst_pad_set_iterate_internal_links_function),
+       (int_link_iter_data_free), (iterate_pad),
+       (gst_pad_iterate_internal_links_default),
+       (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
+       * gst/gstpad.h:
+       Add threadsafe replacement functions for getting internal links of an
+       element. Deprecate the old internal links functions.
+       API:GstPad::gst_pad_set_iterate_internal_links_function()
+       API:GstPad::GstPadIterIntLinkFunction
+       API:GstPad::gst_pad_iterate_internal_links()
+       API:GstPad::gst_pad_iterate_internal_links_default()
+
+       * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
+       (gst_proxy_pad_init):
+       Implement threadsafe internal links.
+
+       * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
+       Unit test for internal links on tee. See #549504.
+
+2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       libs/transform1 test requires libs/test_transform.c
+
+2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
+
+       * gst/gstpad.c: (gst_pad_get_internal_links_default):
+       Die evil deadlock, die !
+
+2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
+
+       * gst/gstutils.c: (gst_element_get_compatible_pad):
+       * tests/check/gst/gstghostpad.c: (GST_START_TEST):
+       * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
+       Fix all leaks due to the bug in gst_pad_template_new() by which it does
+       not steal the refcount of the given caps as stated.
+
+       REVERT THIS COMMIT ONCE FIXED !
+       REVERT THIS COMMIT ONCE FIXED !
+       REVERT THIS COMMIT ONCE FIXED !
+       REVERT THIS COMMIT ONCE FIXED !
+       REVERT THIS COMMIT ONCE FIXED !
+       REVERT THIS COMMIT ONCE FIXED !
+
+2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstiterator.c:
+       * gst/gstiterator.h:
+       After 3 years it's about time to revise the documentation of the
+       iterator objects.
+
+2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstpad.c: (gst_pad_get_internal_links_default):
+       Make the internal links function less thread-unsafe and add some
+       comments, dunno why.
+
+2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       * gst/gst_private.h:
+         Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
+         build with --disable-gst-debug.
+
+2008-08-28  David Schleef  <ds@schleef.org>
+
+       * gst/gstpadtemplate.c: Revert last change, since it breaks
+         a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
+         but shouldn't be enabled until we've released fixed versions
+         of -good and -ffmpeg.
+
+2008-08-28  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstobject.c:
+         Put the gst_object_get_name() back in.
+
+2008-08-28  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstpadtemplate.c:
+         The old behaviour was that gst_pad_template_new() takes ownership of
+         the caps. As we now call g_object_new() which calls g_object_set() and
+         which copies the caps, we have to unref them to not leak them. Fixes
+         make valgrid for me.
+
+2008-08-28  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gsturi.c:
+         Don't segfault on input like "tel:+1-123-555-1234".
+
+2008-08-27  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstobject.c:
+         Due to popular request also include ObjectType in
+         gst_object_get_path_string(). Makes gst-launch -v bit more useful.
+
+2008-08-26  David Schleef  <ds@schleef.org>
+
+       * gst/gstutils.c: Remove check in gst_pad_query_convert() that
+         src_val must be positive, because that's not a requirement.
+         This causes problems with converting negative granulepos
+         values for Dirac.
+       * gst/gstquery.c: Same, gst_query_new_convert().
+
+2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstclock.c: (gst_clock_add_observation):
+       Add some more debugging to the clock slaving code.
+
+       * win32/common/libgstbase.def:
+       Add new basetransform method.
+
+2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbin.c: (gst_bin_element_set_state):
+       Take the (recursive) state lock between getting the locked state of an
+       element and changing the element state. This allows the application to
+       lock an element's state and then change its state without races.
+
+2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbin.c: (gst_bin_element_set_state):
+       When an element is in the locked state we still want to update the
+       base_time of the element.
+
+2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
+       Use the result from gst_pad_set_caps() instead of assuming the element
+       always accepted the caps computed by the default negotiate function.
+
+2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/libs/gstreamer-libs-sections.txt:
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
+       (gst_base_transform_chain), (gst_base_transform_suggest),
+       (gst_base_transform_reconfigure):
+       * libs/gst/base/gstbasetransform.h:
+       Implement method for reconfiguring basetransform.
+       API: GstBaseTransform::gst_base_transform_reconfigure()
+
+2008-08-20  Stefan Kost  <ensonic@users.sf.net>
+
+       patch by: Murray Cumming <murrayc@murrayc.com>
+
+       * gst/gstutils.c:
+         Mention that this is just like gst_buffer_merge() but with extra
+         unreffing for C coders. Advise language bindings not to wrap it.
+         Fixes Bug #533856.
+         
+         Also fix file comment.
+
+2008-08-20  Stefan Kost  <ensonic@users.sf.net>
+
+       reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * plugins/elements/gstfakesink.c:
+       * plugins/elements/gstfakesrc.c:
+         Call super::event() when not handling it. Fixes #544855.
+
+2008-08-19  Michael Smith <msmith@songbirdnest.com>
+
+       Patch by: Alessandro Decina <alessandro@nnva.org>
+       * plugins/elements/gstfilesrc.c:
+         Use 64 bit variants of stat functions on win32, to enable support
+         of large files there.
+         Fixes #547277.
+
+2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
+       (gst_base_sink_event), (gst_base_sink_chain_unlocked),
+       (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
+       (gst_base_sink_get_position), (gst_base_sink_change_state):
+       Improve position reporting in the flushing state.
+       Also report the position when we are not yet prerolled but we
+       have a newsegment event. Fixes #543444.
+       Improve the pull-based negotiation code.
+
+       * tests/check/elements/fakesink.c: (GST_START_TEST),
+       (fakesink_suite):
+       Add testcase for position reporting while flushing in PAUSED and
+       PLAYING.
+
+       * tests/check/generic/sinks.c: (GST_START_TEST):
+       Update unit-test, we can now query the position as soon as we receive a
+       NEWSEGMENT event.
+
+2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Based on patch by: Jason Zhao <e3423c at motorola dot com>
+
+       * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
+       When the subclass event handler releases the PREROLL_LOCK, we could be
+       in the flushing state and we have to ignore the event. Fixes #548394.
+
+2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       * tools/gst-launch.1.in:
+         Document GST_REGISTRY_UPDATE environment variable.
+
+2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_prepare_output_buffer):
+       If the element is configured in passthrough mode but the
+       prepare_output_buffer gave us a new output buffer, discard that buffer
+       and reuse the input buffer.
+
+2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
+
+       * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
+       (gst_tee_request_new_pad), (gst_tee_release_pad),
+       (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
+       * plugins/elements/gsttee.h:
+       Protect pad_alloc with a new lock so that we can be sure that nothing is
+       performing a pad_alloc when removing the pad. Fixes #547835.
+
+       * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
+       (buffer_alloc_harness_teardown), (app_thread_func),
+       (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
+       Added testcase for shutdown race.
+
+2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
+
+       * gst/gstpad.h:
+       Add doc
+
+2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_prepare_output_buffer),
+       (gst_base_transform_buffer_alloc):
+       Go over the buffer_alloc function again and make sure we always end up
+       allocating a buffer.
+       Add some more docs.
+       Avoid doing pad alloc when we have a pending suggestion because we
+       cannot yet deal with changing caps in that case. Fixes #547728
+
+2008-08-14  Stefan Kost  <ensonic@users.sf.net>
+
+       patch by: Luc Pionchon <luc.pionchon@nokia.com>
+
+       * docs/manual/advanced-clocks.xml:
+       * docs/manual/clocks.png:
+       * docs/manual/diagrams-clocks.svg:
+         Add one more image showing different times together with a describing
+         paragraph. Fixes #547729.
+
+2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * win32/common/libgstbase.def:
+       Add new method.
+
+2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_transform_caps),
+       (gst_base_transform_prepare_output_buffer),
+       (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
+       Don't overwrite the outsize when calculating the expected size of a new
+       buffer because we still need it in case we cannot process the new
+       buffer.
+       When converting the size of the new buffer to an upstream size, actually
+       use the expected size of the buffer, not some other random value.
+       Use an atomic int to signal that a new upstream caps suggestion is
+       available.
+       When we can convert the current buffer to a new format, check if the
+       buffer size is of the expected size and allocate a new buffer of the
+       expected size when this is not the case. Fixes #546883.
+
+       * tests/check/libs/transform1.c: (GST_START_TEST):
+       remove ifdeffed code from the unit test.
+
+2008-08-12  Stefan Kost  <ensonic@users.sf.net>
+
+       * pkgconfig/gstreamer-uninstalled.pc.in:
+       * pkgconfig/gstreamer.pc.in:
+         Remove -lgstcontrol-0.10 which never worked anyway as the lib is
+         called gstcontroller-0.10.
+
+2008-08-12  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstchildproxy.h:
+       * gst/gstpreset.h:
+         Remove double interface from doc-string.        
+
+2008-08-12  Stefan Kost  <ensonic@users.sf.net>
+
+       * libs/gst/base/gstbasesrc.c:
+       * libs/gst/base/gstbasetransform.c:
+         Fix headings in docs and gtk-doc warnings.
+
+2008-08-11  Michael Smith <msmith@songbirdnest.com>
+
+       * gst/gstregistrybinary.c:
+         Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
+         libc.
+         Fixes #544776.
+
+2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_buffer_alloc):
+       Fix a "may be used unitialized" warning.
+
+2008-08-11  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gstpreset.h:
+         Document preset-iface vmethods.
+
+2008-08-11  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/manual/advanced-interfaces.xml:
+         Turn thoughts about HAL into a note-tag. Remove mentioning that is
+         only used to discover devices.
+
+2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       Patch by: Frederic Crozat <fcrozat@mandriva.org>
+
+       * gst/gst.c: (init_pre):
+       Make sure gettext returns translations in UTF-8 encoding rather
+       than in the current locale encoding (#546822).
+
+2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
+       Fix subset test.
+
+       * tests/check/gst/gstcaps.c: (GST_START_TEST):
+       Improve unit test subset tests and add a testcase for the subset failure
+       cases.
+
+       * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
+       Improve subtraction unit test.
+
+2008-08-07  Stefan Kost  <ensonic@users.sf.net>
+
+       * plugins/elements/gsttee.c:
+         Unlock, instead of locking again.
+
+2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstpad.h:
+       Clarify the docs a bit more.
+
+2008-08-05  Stefan Kost  <ensonic@users.sf.net>
+
+       * tests/examples/metadata/read-metadata.c:
+         Don't leak old taglist.
+
+2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: Olivier Crete <tester at tester dot ca>
+
+       * gst/gststructure.c:
+       (gst_structure_fixate_field_nearest_fraction):
+       Avoid overflows in fixation code when dealing with MAXINT values, which
+       v4l2src seems to do.
+       Fixes #546328.
+
+       * tests/check/gst/gststructure.c: (GST_START_TEST):
+       Make a unit test to check the fix. 
+
+2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * plugins/elements/gstcapsfilter.c: (copy_func),
+       (gst_capsfilter_set_property):
+       Use new caps suggestion feature of basetransform to request a caps
+       negotiation upstream.
+
+2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/libs/gstreamer-libs-sections.txt:
+       Add new function:
+       API: GstBaseTransform::gst_base_transform_suggest()
+
+       * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
+       (gst_base_transform_init), (gst_base_transform_transform_caps),
+       (gst_base_transform_transform_size),
+       (gst_base_transform_configure_caps),
+       (gst_base_transform_can_transform),
+       (gst_base_transform_find_transform), (gst_base_transform_setcaps),
+       (gst_base_transform_prepare_output_buffer),
+       (gst_base_transform_buffer_alloc),
+       (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
+       (gst_base_transform_chain), (gst_base_transform_activate),
+       (gst_base_transform_set_passthrough),
+       (gst_base_transform_is_passthrough),
+       (gst_base_transform_set_in_place),
+       (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
+       (gst_base_transform_set_qos_enabled),
+       (gst_base_transform_is_qos_enabled),
+       (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
+       (gst_base_transform_reconfigure):
+       * libs/gst/base/gstbasetransform.h:
+       Rewrite of basetransform to perform negotiation outside of the
+       buffer_alloc functions.  Fixes #545853.
+
+       * tests/check/libs/transform1.c: (GST_START_TEST),
+       (buffer_alloc_ct2):
+       Update unit test.
+
+2008-08-05  Stefan Kost  <ensonic@users.sf.net>
+
+       * tests/check/gst/gstpreset.c:
+         Only run preset tests when $HOME is writable. Preliminary fix for
+         #545433.
+
+2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
+       (gst_bin_change_state_func), (bin_handle_async_done),
+       (gst_bin_handle_message_func):
+       Fix race for bins that simulate ASYNC state changes by inserting
+       ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
+       pending ASYNC messages even when the bin does not have ASYNC children.
+       We note detect this behaviour because we will receive an ASYNC message
+       that is originating from the bin itself. 
+       Fixes races with decodebin2 state changes.
+
+       * tests/check/gst/gstbin.c: (GST_START_TEST):
+       Add some more debug.
+
+2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       * gst/gsttaglist.c: (_gst_tag_initialize):
+         Fix typo.
+
+2008-08-04  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gsttaglist.c:
+         Argh. actually save the text before committing. Now adds
+         gst_tag_merge_strings_with_comma() to gst_tag_register().
+
+2008-08-04  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gsttaglist.c:
+       * gst/gsttaglist.h:
+         Do as tim pointed out and actually register the new tag. Also improve
+         te docs and use gst_tag_merge_strings_with_comma() method to allow
+         retriving all keywords merged in one list.
+
+2008-08-01  Stefan Kost  <ensonic@users.sf.net>
+
+       * configure.ac:
+       * docs/gst/gstreamer.types:
+         Revert 'accidential' change of the configure option removal. We still
+         need to generate the types file in configure --disable-load-save.
+
+2008-08-01  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gsttaglist.h:
+         Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
+
+2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       * gst/gstpadtemplate.c:
+         (gst_pad_template_class_init), (gst_static_pad_template_get),
+         (gst_pad_template_new), (gst_pad_template_pad_created),
+         (gst_pad_template_set_property), (gst_pad_template_get_property):
+         Add "name-template", "direction", "presence" and "caps" properties,
+         so that gst_pad_template_new() is just a thin wrapper around
+         g_object_new(), which is better for bindings. (Fixes: #539772)
+
+2008-07-31  Michael Smith <msmith@songbirdnest.com>
+
+       * gst/gsturi.c:
+         Be more liberal in what URIs we accept.
+         Do not unescape bits of the URI for no apparent reason before passing to
+         the element. Fixes #545352.
+
+2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
+
+       * gst/gst.c:
+       Include gstconfig.h as macros from it are used. Fixes bug #545607.
+
+2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * docs/gst/gstreamer-sections.txt:
+       * docs/gst/gstreamer.types:
+       * docs/gst/gstreamer.types.in:
+       * gst/Makefile.am:
+       * gst/gst.c:
+       * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
+       * gst/gstconfig.h.in:
+       * gst/gstelement.c: (gst_element_get_index):
+       * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
+       (gst_registry_binary_load_feature),
+       (gst_registry_binary_read_cache):
+       * gst/gstregistryxml.c: (load_feature),
+       (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
+       * plugins/Makefile.am:
+       * tools/gst-indent:
+       * tools/gst-inspect.c: (print_index_info), (print_element_list),
+       (print_plugin_features), (print_element_features):
+       * tools/gst-xmlinspect.c: (print_event_masks),
+       (print_element_info):
+       * win32/common/gstconfig.h:
+       Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
+
+       Disabling the indexers and URI handler code will only reduce the
+       required amount of memory by a very small amount but on the other hand
+       requires much more maintaince work. Apart from that many places of
+       code are broken when disabling them.
+
+       Disabling the enum types doesn't reduce the required amount of memory
+       by more than a few bytes and makes it hard to fix bugs like #539772,
+       i.e. use the enums as GObject properties.
+
 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
 
        * docs/design/part-TODO.txt: