Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (init_post):
* gst/gstplugin.c: (_gst_plugin_register_static),
(gst_plugin_register_static), (_gst_plugin_initialize),
(gst_plugin_register_func):
* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
API: add gst_plugin_register_static() and deprecate
GST_PLUGIN_DEFINE_STATIC, since it's not portable
(#498924).
Also, in _gst_plugin_register_static(), make sure to call
g_thread_init() before calling GLib functions such as
g_list_append() if we're not initialised yet, since that
may lead to random crashes with older GSlice/GLib versions.
* tests/check/gst/gstplugin.c:
Adapt unit test to above changes.
Original commit message from CVS:
* gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
* gst/gstcaps.c: (gst_caps_to_string):
* gst/gststructure.c: (GST_ASCII_IS_STRING),
(priv_gst_structure_append_to_gstring), (gst_structure_to_string):
Yet another gratuitous GString micro-optimisation: add a (private)
function that serialises a structure appending to an existing
GString, so that when we serialise caps we don't need to alloc+free
a throwaway GString for each structure (each of which also entailing
multiple reallocs on the way); also use g_string_sized_new() in
various places with an approximate string length to avoid reallocs
within GString. See #500143.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set_value):
Always check UTF-8 conformance of structure strings and not only
if the debugging system is enabled; reasoning: the behaviour of
the actual code shouldn't really change depending on whether the
debugging system is enabled or not (#508291).
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
(gst_base_src_loop):
The start segment for reverse playback goes from start to last_stop.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj axis com>
* gst/gstclock.h:
Cast the results from the timeval/spec_to_time macros to what the
docs say it casts to, a GstClockTime. fixes#508175.
Original commit message from CVS:
* gst/gstbuffer.c:
Update some comments.
* tools/gst-inspect.c: (print_element_properties_info):
Improve printing of flags.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_size):
Print element name with g_warning() if there's a problem
with the unit size.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
(gst_base_src_loop):
Don't update the last_stop position in do_seek, that's the position we
did a seek to.
Read backwards when we have a negative rate.
* tests/check/elements/filesrc.c: (event_func), (wait_eos),
(setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
(filesrc_suite):
Add check for reverse reading.
Original commit message from CVS:
Patch by: Alexis Ballier <aballier at gentoo org>
* tests/check/gst/gstabi.c:
* tests/check/gst/struct_ppc64.h:
* tests/check/libs/libsabi.c:
* tests/check/libs/struct_ppc64.h:
Decide which header to include based on the userland ABI target
and not the kernel/cpu. Fix up structure sizes of ppc64 header
for 64-bit userland (#503590). Might need something similar for
x86 too.
Original commit message from CVS:
* gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
Log the reason why fopen fails in addition to the fact that it failed.
Original commit message from CVS:
* gst/parse/parse.l:
Use "%option never-interactive" to prevent useless calls to isatty()
on every input when parsing. Also use "%option noinput" to not define
the static input/yyinput functions which we don't use anyway. This
removes a compiler warning with gcc 4.3 and saves some bytes in the
library.
* gst/parse/lex._gst_parse_yy.pre.c:
Regenerated for the above change.
Original commit message from CVS:
* docs/faq/gst-uninstalled:
Clarify the comments to make the usage of this script and what it
does easier to understand.
Original commit message from CVS:
* tests/check/generic/sinks.c: (gst_sinks_suite):
Put back the tcase_set_timeout(), apparently it's needed after
all; fix it up in a way that makes things work with valgrind too.
Original commit message from CVS:
Based on patch by: Laurent Glayal <spglegle yahoo fr>
* gst/gstvalue.c: (gst_value_is_fixed):
Optimisation: bail out of the loop as early as possible (#500143).
Original commit message from CVS:
* tests/check/generic/sinks.c: (async_done_func),
(async_done_eos_func):
Fix leak in unit test (bus sync handler must unref the message
if it returns GST_BUS_DROP). Don't fiddle with the default test
timeout, this is smaller than the current preconfigured value
via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
because it overrides the value specified in CK_DEFAULT_TIMEOUT.
Original commit message from CVS:
Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* configure.ac:
Check for stdio_ext.h for the filesink changes.
* plugins/elements/gstfilesink.c: (buffer_mode_get_type),
(gst_file_sink_class_init), (gst_file_sink_init),
(gst_file_sink_dispose), (gst_file_sink_set_property),
(gst_file_sink_get_property), (gst_file_sink_open_file),
(gst_file_sink_close_file):
* plugins/elements/gstfilesink.h:
Add two properties to control the buffering mode and size.
API: GstFileSink::buffer-mode
API: GstFileSink::buffer-size
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
Add some more docs to explain why a FIXME was wrongly added.
Original commit message from CVS:
* tests/check/libs/controller.c:
* tests/check/libs/typefindhelper.c:
* tests/check/pipelines/parse-launch.c:
Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
going to be deprecated (see #498924).
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_register):
Make gst_type_find_register work for static typefind functions,
ie. allow passing plugin == NULL (prerequisite for #498924).
* gst/gstelementfactory.c: (gst_element_register):
Small docs addition.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_dispose):
Really unlink the peer pad instead of setting the peer pointer to NULL
when we dispose the pad.
This correctly calls the unlink functions and makes sure that the peer
does not have a handle to invalid memory. See #504671.
* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
Add testsuite for above case.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj axis com>
* libs/gst/check/gstcheck.h:
Fix detection of the check version we're compiling against (would
otherwise break if check goes v0.10.0); correctly report the
name of the failed test again in case of failure, instead of
just 'tf' (fixes#504499).
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
(gst_base_src_get_range), (gst_base_src_pad_get_range),
(gst_base_src_loop), (gst_base_src_set_flushing),
(gst_base_src_change_state):
Allow sending EOS to the source to make it send out an EOS event from
the streaming thread.
Update docs and deprecate the old NULL/READY shutdown method.
* tests/check/libs/basesrc.c: (GST_START_TEST),
(gst_basesrc_suite):
Add unit test for controlled shutdown.
Original commit message from CVS:
* docs/design/part-synchronisation.txt:
Small updates.
* gst/gstsegment.c: (gst_segment_set_seek),
(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
(gst_segment_to_running_time):
The seek format can be different from the segment format when the start
and stop values are not to be updated, when we only do a rate change for
example.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gst_segment_suite):
Add a testcase for the rate-only seeks, checking that the format is
correctly ignored when start and stop are not updated.
Original commit message from CVS:
* gst/gsttaglist.c:
Small docs addition: mention that the strings returned by
gst_tag_list_get_string*() are in UTF-8 encoding.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_perform_seek), (gst_base_src_get_range),
(gst_base_src_set_playing), (gst_base_src_change_state):
Make _wait_playing() not check any variables so that we can call this
function from subclasses. Move the checks elsewhere similar to
_wait_preroll() in basesink.
Add some debugging.
Only signal the LIVE cond when we are going back to PLAYING.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
Use g_remove() and g_rename(). Check result of g_rename(), and
don't leak the open file descriptor if we error out when writing.
* gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
Must check the return value of close() after writing out the new
registry file. Sometimes write problems such as out-of-diskspace
are only reported when the file is closed and not already during
the write. This may have caused partial/broken registry files in
some rare circumstances. Should fix#503675.
Original commit message from CVS:
* docs/gst/.cvsignore:
* docs/libs/.cvsignore:
* docs/plugins/.cvsignore:
Ignore files generated by new common/* modifications
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_set_gap_aware):
* libs/gst/base/gstbasetransform.h:
API: Add gst_base_transform_set_gap_aware() to control whether
the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
get buffers with this flag at all. Fixes#503231.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_dispatch_properties_changed):
Don't use GST_CAT_EVENT here for logging, it makes no sense.