gstreamer/gst
Sebastian Dröge dc63e38219 caps: Merge structures when intersecting instead of appending them
This prevents adding duplicates over and over again to the resulting
caps if they already describe the new intersection result.

While this changes intersection from O(n*m) to O(n^2*m), it results in
smaller caps, which in the end will decrease further processing times.

For example in an audioconvert ! audioconvert ! audioconvert pipeline,
when forwarding the downstream caps preference in basetransform
(see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in
16 instead of 191 caps structures.
2011-05-05 15:22:14 +02:00
..
parse parse: don't unescape inside quotes 2011-05-05 12:30:05 +02: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 Fix GStatBuf definition for win32 when building against older glib. 2010-12-22 16:36:50 -08:00
glib-compat.c gst/: remove GLib 2.6 compatibility code 2006-06-13 08:20:24 +00:00
glib-compat.h Remove some compatibility stuff for GLib < 2.14 2009-03-26 11:08:27 +01:00
gst-i18n-app.h i18n: define dummy ngettext if i18n is disabled. 2010-03-11 10:14:05 +02:00
gst-i18n-lib.h i18n: define dummy ngettext if i18n is disabled. 2010-03-11 10:14:05 +02:00
gst.c gst: init the GType early 2011-05-05 13:17:08 +02:00
gst.h memory: add memory implementation 2011-03-28 20:08:45 +02:00
gst_private.h Revert lockfree GstBus for the release 2011-04-26 16:14:00 +01:00
gstatomicqueue.c docs: add some more Since: markers to atomic queue docs 2011-02-21 11:28:11 +00:00
gstatomicqueue.h docs: fix gtk-doc syntax 2011-05-03 13:03:20 +03:00
gstbin.c bin: Only post EOS messages after reaching the PLAYING state 2011-05-05 12:30:05 +02:00
gstbin.h cleanups 2011-02-22 16:04:12 +01:00
gstbuffer.c Revert "context: use context on buffers instead of caps" 2011-05-05 13:17:08 +02:00
gstbuffer.h Revert "context: use context on buffers instead of caps" 2011-05-05 13:17:08 +02:00
gstbufferlist.c Merge branch 'master' into 0.11 2011-05-05 12:27:51 +02:00
gstbufferlist.h bufferlist: Add boxed type for GstBufferListIterator for gobject-introspection 2011-04-14 16:14:02 +02:00
gstbufferpool.c bufferpool: fix some docs 2011-04-27 17:56:12 +02:00
gstbufferpool.h bufferpool: add caps to the config 2011-03-04 10:16:35 +01:00
gstbus.c bus: fix timeout handling 2011-04-27 18:10:55 +02:00
gstbus.h Revert lockfree GstBus for the release 2011-04-26 16:14:00 +01:00
gstcaps.c caps: Merge structures when intersecting instead of appending them 2011-05-05 15:22:14 +02:00
gstcaps.h Merge branch 'master' into 0.11 2011-05-05 12:27:51 +02:00
gstchildproxy.c docs: gst: more gobject introspection annotations 2010-12-07 18:37:04 +00:00
gstchildproxy.h docs: fix gtk-doc /*< private >*/ marker 2009-07-02 01:18:57 +01:00
gstclock.c cleanups 2011-02-22 16:04:12 +01:00
gstclock.h cleanups 2011-02-22 16:04:12 +01:00
gstcompat.h buffer: more API tweaks 2011-03-30 16:47:55 +02:00
gstconfig.h.in Merge branch 'master' into 0.11 2011-02-22 14:11:59 +01:00
gstcontext.c context: add foreach function 2011-05-05 13:17:08 +02:00
gstcontext.h context: add foreach function 2011-05-05 13:17:08 +02:00
gstdatetime.c gstdatetime: Disable usage of GDateTime on MacOSX 2011-01-05 11:26:13 +01:00
gstdatetime.h datetime: Add _from_unix_epoch variants 2010-11-17 09:58:32 -03:00
gstdebugutils.c dot-dump: terminate truncated strings and escape special chars 2010-06-25 21:25:10 +03:00
gstdebugutils.h build: more some prototypes out if #ifndef GST_DISABLE_GST_DEBUG 2010-03-28 13:14:06 +03:00
gstelement.c element: If activating one pad failed error out early instead of trying to activate the next pads 2011-05-05 12:30:05 +02:00
gstelement.h Merge branch 'master' into 0.11 2011-05-05 12:27:51 +02:00
gstelementfactory.c docs: fix copy'n'paste doc header mistake 2011-05-03 13:03:21 +03:00
gstelementfactory.h element: rework GstElementDetails 2010-12-07 15:33:04 +01:00
gstelementmetadata.h element: rework GstElementDetails 2010-12-07 15:33:04 +01:00
gsterror.c docs: gst_error_get_message() returns string in UTF-8, not current locale 2010-12-07 19:34:46 +00:00
gsterror.h introspection: Build with latest g-i 2010-09-12 15:13:32 +01:00
gstevent.c event: Rename renegotiate event to reconfigure 2011-05-05 15:06:00 +02:00
gstevent.h event: Rename renegotiate event to reconfigure 2011-05-05 15:06:00 +02:00
gstfilter.c gst: Add some more gobject-introspection annotations 2011-04-14 16:14:01 +02:00
gstfilter.h docs: gst: more gobject introspection annotations 2010-12-07 18:37:04 +00:00
gstformat.c Small cosmetic cleanups 2011-04-25 11:10:47 +02:00
gstformat.h Fixes for -Wwrite-strings 2010-03-10 20:50:10 +01:00
gstghostpad.c Revert "context: use context on buffers instead of caps" 2011-05-05 13:17:08 +02:00
gstghostpad.h docs: fix gtk-doc /*< private >*/ marker 2009-07-02 01:18:57 +01:00
gstindex.c docs: add note/warning to gst_index_get_writer_id() docs about the OBJECT_LOCK 2011-04-19 13:23:19 +01:00
gstindex.h cleanups 2011-02-22 16:04:12 +01:00
gstindexfactory.c docs: gst: more gobject introspection annotations 2010-12-07 18:37:04 +00:00
gstindexfactory.h whitespace fixes 2005-10-15 15:30:24 +00:00
gstinfo.c event: add sticky flags to events 2011-05-02 18:34:18 +02:00
gstinfo.h info: make adding/removing of gst_debug_log_default() work properly 2011-02-03 10:53:27 +00:00
gstinterface.c gst: Add some more gobject-introspection annotations 2011-04-14 16:14:01 +02:00
gstinterface.h Remove broken class to interface cast macros from GstUriHandler and GstImplementsInterface headers 2009-01-30 18:25:39 +00:00
gstiterator.c gst: Add some more gobject-introspection annotations 2011-04-14 16:14:01 +02:00
gstiterator.h docs: it's its 2009-08-31 17:00:17 +01:00
gstmacros.h macros: Define restrict keyword if not available 2010-12-02 19:02:07 +01:00
gstmarshal.list miniobject: make queries a boxed type 2011-02-23 10:34:45 +01:00
gstmemory.c memory: don't follow the parent in the fallback share 2011-04-06 19:19:55 +02:00
gstmemory.h memory: add NO_SHARE flag to memory 2011-04-07 16:02:43 +02:00
gstmessage.c miniobject: cleanups 2011-02-23 16:48:00 +01:00
gstmessage.h fix macros 2011-02-23 10:35:36 +01:00
gstmeta.c docs: update docs 2011-03-30 19:01:13 +02:00
gstmeta.h buffer: fix remaining unit tests 2011-03-28 20:08:46 +02:00
gstminiobject.c miniobject: Fix dup_mini_object function to handle NULL gvalues 2011-05-03 08:15:51 -03:00
gstminiobject.h memory: more work on implementing buffer memory 2011-03-28 20:08:46 +02:00
gstobject.c Merge branch 'master' into 0.11 2011-02-22 14:11:59 +01:00
gstobject.h object: fix docs 2010-12-07 15:19:34 +01:00
gstpad.c pad: Keep track of reconfigure events and the pad-needs-reconfiguring status 2011-05-05 15:11:51 +02:00
gstpad.h pad: Keep track of reconfigure events and the pad-needs-reconfiguring status 2011-05-05 15:11:51 +02:00
gstpadtemplate.c element: Inherit element metadata and pad templates from parent classes 2011-04-16 15:59:35 +02:00
gstpadtemplate.h padtemplate: add two FIXME0.11: comments 2010-12-03 09:50:31 +02:00
gstparamspecs.c paramspecs: revert gst_param_spec_is_mutable() for release 2009-04-16 00:48:11 +01:00
gstparamspecs.h paramspecs: revert gst_param_spec_is_mutable() for release 2009-04-16 00:48:11 +01:00
gstparse.c Small cosmetic cleanups 2011-04-25 11:10:47 +02:00
gstparse.h parse: Add boxed type for GstParseContext for gobject-introspection 2011-04-14 16:14:01 +02:00
gstpipeline.c gst: Don't use base_init and use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-16 15:59:40 +02:00
gstpipeline.h remove deprecated symbols and methods 2010-12-06 19:18:31 +01:00
gstplugin.c Merge branch 'master' into 0.11 2011-02-22 14:11:59 +01:00
gstplugin.h cleanups 2011-02-22 16:04:12 +01:00
gstpluginfeature.c pluginfeature: store pointer to plugin in addition to the plugin name 2011-04-24 11:27:19 +01:00
gstpluginfeature.h docs: add two trivial doc blobs 2011-05-03 13:03:21 +03:00
gstpluginloader.c pluginloader: only run gst-plugin-scanner with /usr/bin/arch wrapper on OS X >= 10.5 2011-04-15 21:02:35 +01:00
gstpluginloader.h Plugin loader phase 2 2009-10-06 19:51:42 +01:00
gstpoll.c gstpoll: retry reading the control socket to release properly all wakeups 2011-04-04 11:05:45 +02:00
gstpoll.h poll: add method to get a GPollFD 2010-12-03 15:50:38 +01:00
gstpreset.c core: store presets, registry and plugins in XDG directories. 2011-05-03 09:43:22 +02:00
gstpreset.h gst/: Remove double interface from doc-string. 2008-08-12 06:27:35 +00:00
gstquark.c event: Rename renegotiate event to reconfigure 2011-05-05 15:06:00 +02:00
gstquark.h event: Rename renegotiate event to reconfigure 2011-05-05 15:06:00 +02:00
gstquery.c query: improve allocation parameters query 2011-05-02 11:09:52 +02:00
gstquery.h query: improve allocation parameters query 2011-05-02 11:09:52 +02:00
gstregistry.c core: store presets, registry and plugins in XDG directories. 2011-05-03 09:43:22 +02:00
gstregistry.h docs: typo fixes 2011-02-28 15:01:54 +00:00
gstregistrybinary.c Merge branch 'master' into 0.11 2011-02-22 14:11:59 +01:00
gstregistrybinary.h binaryregistry: save and load release date time in GstPluginDesc 2010-07-23 17:03:42 +01:00
gstregistrychunks.c Merge branch 'master' into 0.11 2011-04-25 10:30:41 +02:00
gstregistrychunks.h binaryregistry: ignore the plugin cache if the filter environment has changed 2010-06-23 17:56:51 +01:00
gstsegment.c docs: gst: more gobject introspection annotations 2010-12-07 18:37:04 +00:00
gstsegment.h cleanups 2011-02-22 16:04:12 +01:00
gststructure.c gst: Add some more gobject-introspection annotations 2011-04-14 16:14:01 +02:00
gststructure.h structure: add gst_structure_{id_}take_value() 2010-09-16 19:39:58 +01:00
gstsystemclock.c cleanups 2011-02-22 16:04:12 +01:00
gstsystemclock.h Merge branch 'master' into 0.11 2011-05-05 12:27:51 +02:00
gsttaglist.c miniobject: more boxed type fixing 2011-02-23 10:35:09 +01:00
gsttaglist.h docs: clarify the NOMINAL_BITRATE docs 2011-02-09 15:23:13 +02:00
gsttagsetter.c Small cosmetic cleanups 2011-04-25 11:10:47 +02:00
gsttagsetter.h tags: API: Add functions to add single tags to GstTagList or GstTagSetter 2009-05-12 09:02:44 +02:00
gsttask.c cleanups 2011-02-22 16:04:12 +01:00
gsttask.h Merge branch 'master' into 0.11-fdo 2011-03-28 20:11:20 +02:00
gsttaskpool.c docs: gst: more gobject introspection annotations 2010-12-07 18:37:04 +00:00
gsttaskpool.h docs: add Since markers to task pool docs and document task function 2010-01-06 19:18:53 +00:00
gsttrace.c trace: don't put code with side effects into g_return_if_fail() 2011-04-09 23:54:20 +01:00
gsttrace.h Fixes for -Wwrite-strings 2010-03-10 20:50:10 +01:00
gsttypefind.c Merge branch 'master' into 0.11 2011-04-25 10:30:41 +02:00
gsttypefind.h memory: port code to new buffer data API 2011-03-28 20:08:45 +02:00
gsttypefindfactory.c docs: add () to xref the function. 2010-12-08 11:53:10 +02:00
gsttypefindfactory.h gst/: Fix memory leak in GstTypeFindFactory. 2005-11-29 23:56:20 +00:00
gsturi.c uri: make win32 buildbot happy 2011-02-24 17:12:00 +00:00
gsturi.h uri: add gst_filename_to_uri() that takes relative filenames 2011-02-24 15:36:52 +00:00
gstutils.c Small cosmetic cleanups 2011-04-25 11:10:47 +02:00
gstutils.h utils: Remove GST_BOILERPLATE and friends 2011-04-19 11:45:32 +02:00
gstvalue.c memory: port code to new buffer data API 2011-03-28 20:08:45 +02:00
gstvalue.h tags: don't produce duplicated entries when merging same value twice 2011-01-02 22:35:08 +00:00
gstversion.h.in version: Take nano version into account in GST_CHECK_VERSION() 2010-12-02 19:02:08 +01:00
Makefile.am context: add helper object to manage events 2011-05-04 15:20:10 +02:00
math-compat.h math-compat: don't re-define _USE_MATH_DEFINES if already defined 2010-11-03 14:21:02 +00:00