Original commit message from CVS:
* libs/gst/base/gstdataqueue.c:
* libs/gst/base/gstdataqueue.h:
* plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
(gst_multi_queue_item_new), (gst_multi_queue_chain),
(gst_multi_queue_sink_event):
* tests/check/elements/multiqueue.c: (multiqueue_suite):
Fix multiqueue leaking buffers and events when downstream or the
queue are flushing. Make refcounting assumptions explicit and
document them (shouldn't break existing code that uses it other than
maybe leak miniobjects, but that already happens anyway). Add unit
test for the most common flushing case. Fixes#423700.
Original commit message from CVS:
* libs/gst/controller/gstcontroller.c:
Clarify docs: The get_all, get_value_array(s) functions
don't modify the GObject properties.
Original commit message from CVS:
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode),
(gst_controlled_property_prepend_default),
(gst_controlled_property_new), (gst_controller_set_unlocked),
(gst_controller_set), (gst_controller_set_from_list),
(gst_controller_unset), (gst_controller_unset_all):
* libs/gst/controller/gstcontrollerprivate.h:
* libs/gst/controller/gstinterpolation.c:
Factor out the 'set' logic into gst_controller_set_unlocked for the
gst_controller_set and gst_controller_set_from_list functions.
To make life of the interpolators easier always add a control point
at timestamp zero with the default value.
In the linear interpolator make things more obvious by better variable
naming (slope).
Implement cubic interpolation mode (by using a natural cubic spline)
and map the quadratic interpolation mode to this too (as quadratic
doesn't make much sense, see discussion on the list).
* tests/check/libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
Add unit test for the cubic interpolation mode and check everywhere
if the interpolation mode could be set as expected.
Original commit message from CVS:
* gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
Don't use GLib-2.10 functions, we still depend on
GLib-how-old-is-it-again-2.8.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_class_init):
Fix signal signature.
* gst/gstsegment.c:
Add small clarification in the api docs.
* plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
States are protected with object lock.
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_done):
Make sure that the child bin stops after completing the async state
change so that the parent can continue the state change to PLAYING.
Fixes#441159.
Original commit message from CVS:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
(unref_data), (gst_collect_pads_remove_pad),
(gst_collect_pads_check_pads):
Use additional refcounting to avoid crashes when dynamically adding and
removing pads. Fixes#420206.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
When buffering goes from a two digit to a single digit number, make sure
to remove the old second digit by writing a blank over it.
Original commit message from CVS:
* tests/check/gst/gstbin.c: (GST_START_TEST):
Allow refcount of 3 and 4 because some state thread might still be busy
with it.
Original commit message from CVS:
* plugins/elements/Makefile.am:
* plugins/elements/gstmultiqueue.h:
* plugins/elements/gstqueue.h:
These are not installed headers, no need for padding.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
(gst_bin_continue_func):
Enable latency for next release.
Restore STATE_LOCK around recalc_state that was left out during the
rewrite and could result in racy behaviour when _get_state and
recalc_state are run concurrently. See #440463.
Original commit message from CVS:
* tests/check/gst/gstsystemclock.c: (store_callback),
(GST_START_TEST):
Improve test_async_order to also work when both timers are already
expired when we get scheduled to check it.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
(gst_bin_set_property), (gst_bin_get_property),
(gst_bin_remove_func), (gst_bin_handle_message_func):
* gst/gstbin.h:
'private' is a c++ keyword, let's not use that in header files,
otherwise c++ compilers will throw a tantrum.
Original commit message from CVS:
* plugins/elements/gstelements.c:
* plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
(gst_file_sink_get_current_offset):
* plugins/indexers/gstindexers.c: (plugin_init):
Use #ifdef for HAVE_XYZ for consistency.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/filesink.c: (setup_filesink),
(cleanup_filesink), (GST_START_TEST), (filesink_suite):
Add some unit tests for filesink.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
(gst_file_sink_query), (gst_file_sink_do_seek),
(gst_file_sink_get_current_offset), (gst_file_sink_render):
* plugins/elements/gstfilesink.h:
Fix position reporting; rename data_written member to current_pos to
reflect its real meaning (fixes#412648).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
(gst_bin_remove_func), (gst_bin_handle_message_func):
* gst/gstbin.h:
Add a property for bins that handle the state change of their childs.
Fixes#435880
Original commit message from CVS:
* libs/gst/controller/gstinterpolation.c:
Use an array of the correct type when using _get_value_array with
linear interpolation.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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().
Original commit message from CVS:
* 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.
Original commit message from CVS:
* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
Add unit test for the improved caps checking from bug #421543.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
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.
Original commit message from CVS:
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.
Original commit message from CVS:
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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/gstplugin.c:
Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
Switch to using g_stat() because it's more portable.
Original commit message from CVS:
* 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?
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
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).
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
gst_queue_base_init, gst_queue_init):
use GST_BOILERPLATE
Original commit message from CVS:
* win32/common/libgstreamer.def:
Add new exported functions.
* win32/vs6/grammar.dsp:
Use grammar pre-generated files.
Original commit message from CVS:
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.
Original commit message from CVS:
* tests/benchmarks/complexity.c: (main):
* tests/benchmarks/mass-elements.c: (main):
Set a good example and don't leak messages.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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).
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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).
Original commit message from CVS:
* 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.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
* configure.ac:
Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
Original commit message from CVS:
* 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).
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/parse/Makefile.am:
Now hopefully fix the build failures by setting proper rule
dependencies and moving instead of copying.
Original commit message from CVS:
* tests/benchmarks/complexity.gnuplot:
* tests/benchmarks/complexity.scm:
* tests/benchmarks/mass-elements.gnuplot:
* tests/benchmarks/mass-elements.scm:
Total licensification.
Original commit message from CVS:
* tests/benchmarks/complexity.c:
* tests/benchmarks/mass-elements.c:
Change licence to LGPL as granted by Benjamin and Andy.
Original commit message from CVS:
* 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.
Original commit message from CVS:
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.
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gstconfig.h.in:
Drop libxml2 dependency when building with
--enable-binary-registry --disable-loadsave
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.