Original commit message from CVS:
* gst/gst_private.h:
Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
build with --disable-gst-debug.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/gstobject.c:
Due to popular request also include ObjectType in
gst_object_get_path_string(). Makes gst-launch -v bit more useful.
Original commit message from CVS:
* 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().
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_add_observation):
Add some more debugging to the clock slaving code.
* win32/common/libgstbase.def:
Add new basetransform method.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
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.
Original commit message from CVS:
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.
Original commit message from CVS:
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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
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.
Original commit message from CVS:
* 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
Original commit message from CVS:
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.
Original commit message from CVS:
* 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.
* tests/check/libs/transform1.c: (GST_START_TEST):
remove ifdeffed code from the unit test.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
libc.
Fixes#544776.
Original commit message from CVS:
* docs/manual/advanced-interfaces.xml:
Turn thoughts about HAL into a note-tag. Remove mentioning that is
only used to discover devices.
Original commit message from CVS:
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).
Original commit message from CVS:
* 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.
Original commit message from CVS:
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.
Original commit message from CVS:
* plugins/elements/gstcapsfilter.c: (copy_func),
(gst_capsfilter_set_property):
Use new caps suggestion feature of basetransform to request a caps
negotiation upstream.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/gsttaglist.c:
Argh. actually save the text before committing. Now adds
gst_tag_merge_strings_with_comma() to gst_tag_register().
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* 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)
Original commit message from CVS:
* 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.
Original commit message from CVS:
Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
* gst/gst.c:
Include gstconfig.h as macros from it are used. Fixes bug #545607.
Original commit message from CVS:
* 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.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_acceptcaps_default),
(gst_pad_configure_src), (gst_pad_alloc_buffer_full):
Remove silly redundant debug.
Add some more debug info.
Clarify the docs regarding new caps received from pad_alloc.
Original commit message from CVS:
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
(gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
Make setting the caps more threadsafe.
Original commit message from CVS:
* plugins/elements/gstqueue.c: (gst_queue_init),
(gst_queue_acceptcaps):
Add and use a custom acceptcaps function instead of falling back to the
potentially less optimized default implementation.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full):
Only sanity-check the buffer size if requested_caps == buffer_caps
(ie. don't take pad caps into account, they're not relevant here)
Original commit message from CVS:
* plugins/elements/gsttee.c:
* plugins/elements/gsttee.h:
Reverting as not everything is clear yet. Needs some general design
work.
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml: Add fakesink to example
code to close the pipeline graph. This prevents the program from
printing internal data flow errors.
Original commit message from CVS:
* configure.ac:
Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
Add check (taken from -base) for winsock, adds WIN32_LIBS
* gst/Makefile.am:
Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
winsock.
Define GST_EXPORTS when building libgstreamer (only used on win32)
* gst/gst_private.h:
* gst/gstinfo.h:
Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
for symbols that we need to export in both these files.
* gst/gstpoll.c:
Include gst_private.h higher up to avoid some compile problems on win32.
Original commit message from CVS:
* gst/gstcaps.c:
Previous commit was wrong NULL caps does not exist
and indicate an error, so also add a FIXME to
gst_caps_is_equal where NULL caps are accepted.
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstregistry.c:
GstRegistryPool doesn't exist; don't refer to it in docs.
Don't refer to functions that don't exist in docs, it's
unhelpful.
Original commit message from CVS:
Patch by: tmatth <le dot businessman at gmail dot com>
* docs/pwg/building-testapp.xml:
Don't use an undeclared variable in the example program.
Fixes bug #542573.
Original commit message from CVS:
* libs/gst/controller/gstinterpolationcontrolsource.c:
(_list_find_sorted_custom):
Don't use declarations after statements.
Original commit message from CVS:
* gst/gstchildproxy.c: (gst_child_proxy_base_init):
Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
of the the child-added / -removed signals as GstChildProxy
only supports GstObjects.
Original commit message from CVS:
* gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
Print error debug message if plugin description fields that should
be set are NULL.
* gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
Don't crash if the string to serialise is NULL (it really should
not be, but apparently this used to work with the xml registry ...).
Original commit message from CVS:
* gst/gstevent.c:
Use gst_format_get_name() to improve debug output.
* gst/gstpreset.c:
Remove #ifdef'ed code. Add TODO comment.
* gst/gstsegment.c:
Add debug output to ease spotting format != segment.format assertions.
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
Don't write to the same region of memory as a uint64 and uint16
as this breaks strict aliasing rules and apparantly breaks on PPC
and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
Original commit message from CVS:
* libs/gst/controller/gstinterpolationcontrolsource.c:
Optimize list handling. Use own find function. Exploit that fact that
the list is sorted. Also pass back the node before, so that we can
insert quickly. Have a fast path for append.
Original commit message from CVS:
* configure.ac:
Show configuration sumary after configure run. Based on patch by
Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
Original commit message from CVS:
patch by: Luc Pionchon <luc.pionchon@nokia.com>
* docs/manual/advanced-autoplugging.xml:
* docs/manual/advanced-threads.xml:
* docs/manual/basics-bins.xml:
* docs/manual/basics-elements.xml:
* docs/manual/basics-helloworld.xml:
* docs/manual/basics-pads.xml:
Add scale factor for pdf output.
* docs/manual/intro-basics.xml:
Switched sections "pads" and "bins" and added a pipeline diagram.
* docs/manual/intro-gstreamer.xml:
Added more info on gstreamer.
* docs/manual/intro-motivation.xml:
Commented out the whole section "current problem", which sounds
historical and somehow osolete; it could be turned in a positive
way and reused to improve the design principles.
* docs/manual/intro-preface.xml:
- Update URLs to library.gnome.org.
- Do not mention GTK+ in preliminary reading (irrelevant).
- Mention Plugin Writer's Manual and further reading only in the
previous section.
- Added a list of most relevant GObject/glib topics.
* docs/manual/Makefile.am:
* docs/manual/bin-element-ghost.fig:
* docs/manual/bin-element-ghost.png:
* docs/manual/bin-element-noghost.fig:
* docs/manual/bin-element-noghost.png:
* docs/manual/bin-element.fig:
* docs/manual/bin-element.png:
* docs/manual/filter-element-multi.fig:
* docs/manual/filter-element-multi.png:
* docs/manual/filter-element.fig:
* docs/manual/filter-element.png:
* docs/manual/gstreamer-overview.png:
* docs/manual/hello-world.fig:
* docs/manual/hello-world.png:
* docs/manual/linked-elements.fig:
* docs/manual/linked-elements.png:
* docs/manual/mime-world.fig:
* docs/manual/mime-world.png:
* docs/manual/queue.fig:
* docs/manual/queue.png:
* docs/manual/simple-player.png:
* docs/manual/sink-element.fig:
* docs/manual/sink-element.png:
* docs/manual/src-element.fig:
* docs/manual/src-element.png:
* docs/manual/diagrams-general.svg:
* docs/manual/diagrams-pipelines.svg:
Removed .fig, added .png counterpart.
Fixes: #539137
Original commit message from CVS:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gstmultiqueue.h:
revert extra-size-buffers stuff, caused some race conditions
and extra-size-buffers is not used anymore. Docs needs some updates