libs/gst/base/gstbasetransform.*: Add vmethod that is called before we start the...
[platform/upstream/gstreamer.git] / ChangeLog
index 45f4850..14af407 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,490 @@
+2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_prepare_output_buffer),
+       (gst_base_transform_getrange), (gst_base_transform_chain):
+       * libs/gst/base/gstbasetransform.h:
+       Add vmethod that is called before we start the transform and which can
+       be used to configure the transform, such as dynamic properties.
+
+2008-12-05  David Schleef  <ds@schleef.org>
+
+       * gst/gst.c:
+       Search for plugins on win32 based on the location of the
+       gstreamer DLL.  Fixes #548786
+
+2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       Apparently AC_CONFIG_MACRO_DIR breaks when using more
+       than one macro directory, reverting last change.
+
+2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
+       our M4 macros.
+
+2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       Patch by: Cygwin Ports maintainer
+                 <yselkowitz at users dot sourceforge dot net>
+
+       * autogen.sh:
+       * configure.ac:
+       Require gettext 0.17 because older versions don't mix with libtool
+       2.2. At build time an older gettext version will still work.
+       Fixes bug #556091.
+
+2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: 이문형 <iwings at gmail dot com>
+
+       * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
+       Adds support for FD_CONNECT event (win32). See #562258.
+
+2008-11-24  Stefan Kost  <ensonic@users.sf.net>
+
+       * libs/gst/base/gstbasesink.c:
+         Turn comment into gtk-doc comment.
+
+2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_acceptcaps):
+       Revert quick accepcaps attempt, it's not fully equivalent to the old
+       behaviour and thus causes regressions.
+
+2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
+
+       * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
+       Fix memory leak.
+
+2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
+
+       * gst/gstregistry.c: (gst_registry_scan_path_level):
+       Reduce the number of stat() calls for every file from three times
+       to one time. Fixes bug #560360.
+
+2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_acceptcaps):
+       Rename a variable to make the code clearer.
+
+2008-11-21  Stefan Kost  <ensonic@users.sf.net>
+
+       * plugins/elements/gstidentity.c:
+       Don't warning on offset==-1. Taken from _check_imperfect_offset().
+
+2008-11-21  Michael Smith <msmith@songbirdnest.com>
+
+       * plugins/elements/gstfilesrc.c:
+         Check for localhost in URI was backwards, fix it. Fixes unit test.
+
+2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
+       (gst_base_transform_getcaps), (gst_base_transform_find_transform),
+       (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
+       Add beginnings of a more optimized acceptcaps function than the default
+       core one.
+
+2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstpad.c: (gst_pad_accept_caps):
+       Avoid getting the acceptcaps function too early.
+
+2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * tools/gst-launch.c: (event_loop):
+       Make gst-launch handle LATENCY messages and make it recalculate the
+       latency.
+
+2008-11-20  Michael Smith <msmith@songbirdnest.com>
+
+       * plugins/elements/gstfilesrc.c:
+         Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
+         out own slightly incorrect version. Fixes use of some paths on
+         win32.
+
+2008-11-20  Michael Smith <msmith@songbirdnest.com>
+
+       * gst/gstregistrybinary.c:
+         In win32 codepath, if we fail to write the registry, create the
+         directory for it and try again, matching the behaviour in non-win32
+         codepaths.
+
+2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
+       Changing the render delay changes the latency and so we must post a
+       latency message.
+
+2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstquery.c:
+       * gst/gstquery.h:
+       Add GstQueryType for custom queries instead of having to use the
+       not-so-very-convenient registration infrastructure to register new
+       types.
+
+2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       Patch by: Andrew Feren <acferen at yahoo dot com>
+
+       * gst/gstobject.c: (gst_object_default_deep_notify):
+       Unref the GEnumClass after usage again. Fixes bug #561501.
+
+2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
+       (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
+       (gst_bin_change_state_func):
+       * gst/gstbin.h:
+       Add do-latency signal with the old default fallback implementation. This
+       allows for custom latency calculations for when the default is not
+       sufficient.
+       API: GstBin::do-latency signal.
+
+2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * win32/common/libgstreamer.def:
+       Add new symbols to .def file.
+
+2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gstbin.c: (gst_bin_recalculate_latency),
+       (gst_bin_change_state_func):
+       * gst/gstbin.h:
+       Add method to recalculate and redistribute the latency on a bin.
+       API: gst_bin_recalculate_latency().
+
+2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbuffer.h:
+       Document the free_func.
+
+2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * libs/gst/controller/gstinterpolation.c:
+       * libs/gst/controller/gstlfocontrolsource.c:
+       Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
+       as it is mapped to a cast on non-win32 platforms.
+
+2008-11-17  Stefan Kost  <ensonic@users.sf.net>
+
+       * libs/gst/controller/gstcontroller.c:
+       * libs/gst/controller/gstcontrollerprivate.h:
+         Keep last-value and only call set_property if value has changed. This
+         supresses all the g_object_notifies we would trigger otherwise. It
+         also allows the user to chage the value while there is no controller
+         change.
+
+2008-11-17  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstvalue.c:
+         Don't crash if either of the string GValues is empty.
+
+2008-11-17  Andy Wingo  <wingo@pobox.com>
+
+       * tools/gst-inspect.c (print_all_uri_handlers): New function,
+       prints a summary of what URI schemes are supported by what
+       elements.
+       (main): Plumb in support for --uri-handlers or -u, and fix the
+       argc check for -a and -u.
+
+2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * gst/gstutils.h:
+       Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
+       conversion functions.
+
+2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbuffer.c: (gst_buffer_finalize):
+       Avoid costly typechecking for trivially correct pointers.
+
+       * gst/gstpoll.c: (gst_poll_wait):
+       Add some G_LIKELY here and there.
+
+       * libs/gst/base/gstadapter.c: (gst_adapter_push):
+       Add some debug info.
+
+2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/random/wtay/poll-timeout:
+       Small tweaks.
+
+2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * tests/old/testsuite/caps/intersection.c: (main):
+       * tests/old/testsuite/plugin/loading.c: (main):
+       Remove references to deprecated API g_mem_chunk*.
+       Fixes #560442.
+
+2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * tools/gst-inspect.c: (main):
+       Add --plugin option. Fixes #560301.
+
+2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/random/wtay/poll-timeout:
+       Quick braindump for a possible (not totally verified) atomic case.
+
+2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
+       (gst_registry_binary_initialize_magic),
+       (gst_registry_binary_write_cache),
+       (gst_registry_binary_check_magic):
+       * gst/gstregistrybinary.h:
+       Don't write and check a CRC for the binary registry file. It's
+       guaranteed that the registry is completely written (it's first written
+       to a temporary file and then moved) and if the registry was corrupted
+       by some hardware failure we would have bigger problems.
+
+       Bump binary registry version to 0.10.21.1 for this as it's an
+       incompatible change and to ensure that the registry gets rebuild
+       after the update.
+
+       This saves some milliseconds for reading/writing the registry.
+       Fixes bug #560399.
+
+2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/random/wtay/poll-timeout:
+       Some pseudo code for how we could implement clock timeouts with GstPoll.
+
+2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * plugins/elements/gstfilesink.c:
+         Update Author string to match others.
+
+2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
+       Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
+       being fixed and inline the trivial check.
+
+2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
+       (gst_caps_merge_structure), (gst_caps_get_structure),
+       (gst_caps_copy_nth), (gst_caps_set_simple),
+       (gst_caps_set_simple_valist), (gst_caps_is_fixed),
+       (gst_caps_is_equal_fixed), (gst_caps_intersect),
+       (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
+       (gst_caps_to_string):
+       Callgrind micro optimisations.
+       Avoid array bounds checks and force inline of trivial function.
+
+       * gst/gstobject.c: (gst_object_set_name_default):
+       -1 is equivalent to letting glib to the strlen but then there is more
+       room for optimisations and it's not our fault.
+
+       * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
+       no need to clear the array, we're cool.
+
+       * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
+       The most common _is_fixed() check is done on fundamental glib base
+       types so we check this first instead of doing a huge amount of
+       useless GST_TYPE_ARRAY calls.
+
+2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstevent.h:
+       Add a SKIP seek flag for use with advanced trickmodes.
+       API: GstSeekFlags::GST_SEEK_FLAG_SKIP
+
+2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
+       No need to memset, we can clear the value ourselves.
+
+       * gst/gstvalue.c: (gst_type_is_fixed),
+       (gst_value_get_compare_func):
+       Some optimisations from a few callgrind sessions:
+       When checking if a type is fixed, check for trivial fundamental types
+       first before checking types for which we need to get the type followed
+       by the heavy duty type checks, this reduces the amount of
+       g_type_fundamental() calls a lot.
+       When getting the compare function, first check for our registered types.
+       If that fails, do the heavy duty g_type_is_a() checks, reduces the
+       amount of g_type_is_a() considerably.
+
+2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/design/part-TODO.txt:
+       Mumble something about removing GstXML.
+
+2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbin.c: (gst_bin_handle_message_func):
+       Get the seqnum before we dispose the message.
+
+2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/design/part-TODO.txt:
+       Refer to the framestepping document.
+
+2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstbin.c: (bin_handle_async_start),
+       (gst_bin_handle_message_func), (gst_bin_query):
+       * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
+       (gst_base_sink_event), (gst_base_sink_change_state):
+       * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
+       (gst_base_src_loop), (gst_base_src_change_state):
+       Copy seqnums from events to messages so that they can all be related
+       back to eachother.
+
+2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * tools/gst-launch.c: (event_loop):
+       Print the message seqnums.
+
+2008-11-04  Andy Wingo  <wingo@pobox.com>
+
+       * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
+
+2008-11-04  Andy Wingo  <wingo@pobox.com>
+
+       Add sequence numbers to events and messages. See #559250.
+
+       * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
+       API: New functions.
+
+       * gst/gstevent.h:
+       * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
+       events with a new sequence number, and copy it when copying.
+       (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
+       an event's sequence number.
+
+       * gst/gstmessage.h:
+       * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
+       (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
+       so with messages.
+
+       * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
+
+2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * docs/manual/advanced-position.xml:
+       * docs/manual/basics-bins.xml:
+       * docs/manual/basics-bus.xml:
+       * docs/manual/basics-pads.xml:
+       * docs/manual/intro-gstreamer.xml:
+       * docs/manual/intro-preface.xml:
+       Some Application Development Manual fixes thanks to
+       Andrew Feren. Fixes #558459.
+
+2008-11-03  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstregistrybinary.c:
+         Don't bother with the GTimer if we don't output the results.
+
+2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: David Schleef  <ds@schleef.org>
+
+       * libs/gst/net/Makefile.am:
+       Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
+
+2008-10-31  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstregistrybinary.c:
+         Oh my, studip, stupid me. Remove double stat() call.
+
+2008-10-31  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstpreset.c:
+         Use g_unlink instead of unlink.
+
+       * gst/gststructure.c:
+         Use glib type.
+
+       * gst/gstutils.c:
+         Add a FIXME:.
+
+       * gst/gsttaglist.c:
+       * gst/gsttypefind.c:
+       * gst/gstvalue.c:
+         Formatting & whitespaces.
+
+2008-10-31  Stefan Kost  <ensonic@users.sf.net>
+
+       * plugins/elements/gstidentity.c:
+         Doc typo. Use return value of parent_class->event.
+  
+       * plugins/elements/gsttypefindelement.c:
+         Chain up at the end for consistency.
+  
+2008-10-30  Stefan Kost  <ensonic@users.sf.net>
+
+       * docs/Makefile.am:
+       * docs/gst/gstreamer-docs.sgml:
+       * docs/gst/gstreamer-sections.txt:
+       * docs/gst/running.xml:
+       * docs/libs/gstreamer-libs-docs.sgml:
+         Change to xinclude based build - its faster and easier to maintain.
+
+2008-10-30  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstregistrybinary.c:
+       * gst/gstregistryxml.c:
+         Use g_unlink() as none of these are directories.
+
+2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
+       Some more comments.
+
+2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_find_transform), (gst_base_transform_getrange):
+       If we have a fixate function, call it even if we already have fixed caps
+       because the subclass might add some caps. Makes audioconvert add a
+       default channel layout.
+
+2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * libs/gst/base/gstbasetransform.c:
+       (gst_base_transform_prepare_output_buffer),
+       (gst_base_transform_getrange):
+       Clear the output buffer variable.
+       Cleanups to the error path in the getrange function.
+       Fixes #557649.
+
+2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
+       * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
+       Use gst_buffer_try_new_and_alloc() and handle errors instead of
+       using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
+       be allocated.
+
+2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/gstsegment.c: (gst_segment_set_newsegment_full):
+       Set the last_stop to a more meaningful position when configuring the
+       segment. ie. the start/stop of the segment or clipped against the
+       updated segment boundaries.
+
+       * tests/check/gst/gstsegment.c: (GST_START_TEST):
+       Add some unit tests for the last_stop.
+
+2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       * libs/gst/base/gstbytereader.c:
+       Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
+       copies of them.
+
 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
 
        * docs/gst/gstreamer-sections.txt: