+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: