gstreamer/gst
Tim-Philipp Müller 507fc9cea7 value: avoid duplicates when intersecting lists
Fixes negotiation taking a ridiculous amount of
time (multiple 10s of seconds on a core2) when
there are duplicate entries in lists.

Could have a negative performance impact on other
scenarios because we now have to iterate the
dest list to avoid duplicates, but we don't
have a lot of lists any more these days, and
they tend to be small anyway. The negatives
are hopefully countered by the positive effects
of reducing the list length early on in the
process. And in any case, it's the right thing
to do.

Based on patch by Andre Moreira Magalhaes.

https://bugzilla.gnome.org/show_bug.cgi?id=684981
2012-09-29 14:35:58 +01:00
..
parse parse: fix up for gst_child_proxy_lookup() only working on child proxy interfaces 2012-08-13 10:27:09 +01:00
.gitignore gstbase: Add gobject-introspection support 2009-09-05 10:28:46 +02:00
gettext.h gettext: build fixes: #if -> #ifdef 2010-03-22 17:10:06 +02:00
glib-compat-private.h Use recent GLib API unconditionally now that we depend on the latest GLib 2012-01-22 01:25:22 +00:00
glib-compat.c glib-compat: Add license boilerplate for LGPL 2011-12-12 11:55:52 +01:00
glib-compat.h Remove some compatibility stuff for GLib < 2.14 2009-03-26 11:08:27 +01:00
gst-i18n-app.h gst: include locale.h before any other i18n headers 2012-01-05 00:32:42 +00:00
gst-i18n-lib.h gst: include locale.h before any other i18n headers 2012-01-05 00:32:42 +00:00
gst.c events: remove STREAM_CONFIG 2012-09-11 16:29:12 +02:00
gst.h Remove GST_USE_UNSTABLE_API guard and defines 2012-09-17 13:35:26 +01:00
gst_private.h gst: sprinkle some G_GNUC_INTERNAL for internal functions 2012-07-09 20:48:56 +01:00
gstallocator.c allocator: make a copy with the same alignment 2012-08-20 11:31:51 +02:00
gstallocator.h allocator: remove user_data from alloc vmethod 2012-07-27 12:17:29 +02:00
gstatomicqueue.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstatomicqueue.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstbin.c message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED 2012-09-02 01:18:58 +01:00
gstbin.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstbuffer.c docs: fix up docs a bit 2012-08-11 23:41:33 +01:00
gstbuffer.h events: remove STREAM_CONFIG 2012-09-11 16:29:12 +02:00
gstbufferlist.c bufferlist: pass index as gint to _insert 2012-07-23 16:27:34 +02:00
gstbufferlist.h bufferlist: pass index as gint to _insert 2012-07-23 16:27:34 +02:00
gstbufferpool.c docs: fix up docs a bit 2012-08-11 23:41:33 +01:00
gstbufferpool.h buffer pool: put GstBufferPoolAcquireParams typedef before struct 2012-06-19 16:06:49 -07:00
gstbus.c bus: Add allow-none to the function argument of gst_bus_set_sync_handler() 2012-08-07 10:46:17 +02:00
gstbus.h bus: add GDestroyNotify to set_sync_handler() 2012-06-20 12:29:35 +02:00
gstcaps.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstcaps.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstchildproxy.c childproxy: make gst_child_proxy_lookup() a proper GstChildProxy method 2012-08-13 10:27:02 +01:00
gstchildproxy.h childproxy: make gst_child_proxy_lookup() a proper GstChildProxy method 2012-08-13 10:27:02 +01:00
gstclock.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstclock.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstcompat.h gstcompat: fix backwards compat macro for gst_message_new_duration 2012-09-14 00:30:37 +01:00
gstconfig.h.in Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstcontrolbinding.c introspection: assorted introspection and documentation fixes 2012-06-18 13:11:40 +02:00
gstcontrolbinding.h docs: fix up docs a bit 2012-08-11 23:41:33 +01:00
gstcontrolsource.c introspection: assorted introspection and documentation fixes 2012-06-18 13:11:40 +02:00
gstcontrolsource.h introspection: assorted introspection and documentation fixes 2012-06-18 13:11:40 +02:00
gstdatetime.c datetime: just return NULL on short input strings instead of a warning 2012-07-16 00:24:46 +01:00
gstdatetime.h datetime: add conversion to/from GDateTime 2012-07-04 10:22:41 +01:00
gstdebugutils.c debugutils: Fix static linking on OS X 2012-05-25 10:49:47 +02:00
gstdebugutils.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstelement.c elementfactory: Fail if no valid element factory metadata is set 2012-09-25 15:10:32 +02:00
gstelement.h Update for new seeking variable name 2012-07-27 15:24:52 +02:00
gstelementfactory.c elementfactory: Fail if no valid element factory metadata is set 2012-09-25 15:10:32 +02:00
gstelementfactory.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstelementmetadata.h element: rework GstElementDetails 2010-12-07 15:33:04 +01:00
gsterror.c error: don't tell people to file a bug for negotiation errors 2012-09-12 21:23:22 +01:00
gsterror.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstevent.c events: remove STREAM_CONFIG 2012-09-11 16:29:12 +02:00
gstevent.h events: remove STREAM_CONFIG 2012-09-11 16:29:12 +02:00
gstformat.c introspection: add missing array annotation to gst_formats_contains 2012-07-17 09:37:27 +02:00
gstformat.h .h: fix header files 2011-11-11 17:30:03 +01:00
gstghostpad.c ghostpad: also ref the internal pad for activate functions 2012-09-27 11:06:06 +02:00
gstghostpad.h ghostpad: remove custom function 2012-07-18 17:49:32 +02:00
gstinfo.c info: do not register printf extension for %p 2012-09-27 23:58:32 +01:00
gstinfo.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstiterator.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstiterator.h Merge remote-tracking branch 'origin/master' into 0.11 2011-11-26 19:44:23 +00:00
gstmacros.h macros: Define restrict keyword if not available 2010-12-02 19:02:07 +01:00
gstmemory.c memory: Make GstAllocator a GstObject 2012-07-09 16:28:22 +02:00
gstmemory.h memory: add padding to GstMapInfo 2012-09-10 12:20:15 +02:00
gstmessage.c message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED 2012-09-02 01:18:58 +01:00
gstmessage.h message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED 2012-09-02 01:18:58 +01:00
gstmeta.c clock: remove _full version 2012-06-20 09:58:14 +02:00
gstmeta.h meta: add LOCKED flag 2012-04-17 15:55:10 +02:00
gstminiobject.c miniobject: Always reject WRITE locks on READONLY miniobjects 2012-09-28 17:12:14 -04:00
gstminiobject.h docs: fix up docs a bit 2012-08-11 23:41:33 +01:00
gstobject.c object: update controller documentation 2012-09-21 21:13:13 +02:00
gstobject.h controller: expand the api to offer functions for plain and GValue arrays 2012-04-25 20:19:23 +02:00
gstpad.c pad: fix activate docs 2012-09-28 10:41:54 +02:00
gstpad.h pad: fix activate docs 2012-09-28 10:41:54 +02:00
gstpadtemplate.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstpadtemplate.h introspection: add some missing annotations 2012-06-12 20:48:50 +02:00
gstparamspecs.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstparamspecs.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstparse.c parse: fix some debug 2012-07-17 10:04:26 +02:00
gstparse.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstpipeline.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstpipeline.h Merge remote-tracking branch 'origin/master' into 0.11 2011-11-26 19:44:23 +00:00
gstplugin.c plugin: Fail if no valid plugin metadata is set 2012-09-25 15:10:32 +02:00
gstplugin.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstpluginfeature.c pluginfeature: Remove 0.11.9X->1.0.0 version mangling 2012-09-25 09:27:59 +02:00
gstpluginfeature.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstpluginloader.c Add versioned variants of some environment variables 2012-07-04 18:18:02 +01:00
gstpluginloader.h .h: fix header files 2011-11-11 17:30:03 +01:00
gstpoll.c gstpoll: Improve warning message when re-adding fd to fdset 2012-07-23 12:11:16 +02:00
gstpoll.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstpreset.c preset: implement child_proxy support 2012-08-17 15:00:40 +02:00
gstpreset.h Merge branch 'master' into 0.11 2012-02-08 14:45:25 +01:00
gstquark.c message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED 2012-09-02 01:18:58 +01:00
gstquark.h message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED 2012-09-02 01:18:58 +01:00
gstquery.c query: adjust test logic for scheduling mode with flagS 2012-09-11 17:27:03 +02:00
gstquery.h query: add convenience API to query for scheduling mode and flags 2012-09-11 17:00:09 +02:00
gstregistry.c registry: remove some unused and in their current form pointless API 2012-08-14 00:39:18 +01:00
gstregistry.h registry: remove some unused and in their current form pointless API 2012-08-14 00:39:18 +01:00
gstregistrybinary.c plugin: use GstObject flags for plugin flags 2012-04-29 17:46:32 +01:00
gstregistrybinary.h registry: Set registry version to 1.0.0 too 2012-04-05 10:57:29 +02:00
gstregistrychunks.c plugin: use GstObject flags for plugin flags 2012-04-29 17:46:32 +01:00
gstregistrychunks.h binaryregistry: ignore the plugin cache if the filter environment has changed 2010-06-23 17:56:51 +01:00
gstsample.c sample: free info structure with sample if there is one and fix copy with NULL info structure 2012-09-10 16:52:46 +01:00
gstsample.h docs: fix typo in GstSample docs 2012-07-04 17:55:58 +01:00
gstsegment.c GstSegment: Fix doc description string last_stop->position 2012-08-31 06:25:37 -07:00
gstsegment.h segment: mark GstSegmentFlags as flags rather than enum 2012-09-26 10:55:48 +02:00
gststructure.c sample: add serialisation/deserialisation functions for GstSample 2012-09-16 23:20:46 +01:00
gststructure.h win32: fix exported variables for VS 2010 2011-12-27 23:26:07 +00:00
gstsystemclock.c bus, clock: make sure these never have a floating ref 2012-07-09 13:09:45 +01:00
gstsystemclock.h systemclock: make more stuff private 2012-02-27 09:11:36 +01:00
gsttaglist.c taglist: fix typo in translated string 2012-09-25 13:14:53 +01:00
gsttaglist.h docs: fix up docs a bit 2012-08-11 23:41:33 +01:00
gsttagsetter.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttagsetter.h .h: fix header files 2011-11-11 17:30:03 +01:00
gsttask.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttask.h task: add separate methods to add enter/leave callback 2012-06-20 11:59:09 +02:00
gsttaskpool.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttaskpool.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttoc.c docs: fix up docs a bit 2012-08-11 23:41:33 +01:00
gsttoc.h toc: add GstTocScope and require it in the constructor 2012-07-28 09:16:06 +01:00
gsttocsetter.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttocsetter.h tocsetter: clean up and update API for refcounted TOCs 2012-06-25 20:18:32 +01:00
gsttrace.c trace: always print miniobject refcount 2012-06-14 16:34:28 +02:00
gsttrace.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttypefind.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttypefind.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttypefindfactory.c Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gsttypefindfactory.h typefindfactory: make object struct opaque for now 2012-05-01 23:23:41 +01:00
gsturi.c uri: use proper 'transfer floating' annotation 2012-09-26 14:15:01 +02:00
gsturi.h uri: add error argument to gst_element_make_from_uri() 2012-06-23 14:43:17 +01:00
gstutils.c utils: allow NULL stream_id also when 0 srcpads 2012-09-11 11:34:11 +02:00
gstutils.h event: Add new stream-id field to the stream-start event 2012-08-06 14:00:56 +02:00
gstvalue.c value: avoid duplicates when intersecting lists 2012-09-29 14:35:58 +01:00
gstvalue.h Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
gstversion.h.in Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
Makefile.am Remove GST_USE_UNSTABLE_API guard and defines 2012-09-17 13:35:26 +01:00
math-compat.h math-compat.h: add implementation for isnan() for Visual C++ 2012-07-02 20:27:53 +01:00