gstreamer/gst
Nicolas Dufresne 446b3e6ddc plugin: Don't do lossy shift on hash
In plugin is responsible for calculating a hash of the dependencies
in order to determine if the cache should be invalidated or not.
Currently, the hash combining method removes a bit of the original
have before combining with an addition. As we use 32bits for our hash
and shift 1 bit for each file and directory, that resulting hash only
account for the last 32 files. And is more affected by the last file.

Rotating technique (shifting, and adding back the ending bit), can be
use to make the addition non-commutative. In a way that different order
gives different hashes. In this case, I don't preserve this behaviour
because the order in which the files are provided by the OS is
irrelevant.

In most cases, the XOR operation is used to combine hashes. In this
code we use the addition. I decided to preserve the addition because
we make use of non-random hash ((guint) -1) in the algorithm for
matching files that are not really part of the hash (symlinks, special
files). Doing successive XOR on this value, will simply switch from
full ones, to full zero. The XOR used with whitelist has been preserved
as it's based on a fairly randomized hash (g_str_hash).

https://bugzilla.gnome.org/show_bug.cgi?id=758078
2015-11-25 14:26:11 -05:00
..
parse Remove obsolete Android build cruft 2015-04-26 17:49:44 +01:00
printf printf: fix invalid memory access in case of %% 2015-04-24 15:16:24 +01:00
.gitignore gstbase: Add gobject-introspection support 2009-09-05 10:28:46 +02:00
gettext.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat-private.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat.c Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gst-i18n-app.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst-i18n-lib.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst.c tracer: mark GstTracerQuarkId as non GEnum 2015-10-06 18:49:46 +02:00
gst.h tracer: split into tracer and tracerutils 2015-10-05 20:59:39 +02:00
gst_private.h tracer: split into tracer and tracerutils 2015-10-05 20:59:39 +02:00
gstallocator.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstallocator.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstatomicqueue.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstatomicqueue.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstbin.c bin: Make sure to free all cached messages when going to NULL 2015-10-19 11:06:54 +03:00
gstbin.h docs: cosmetic since marker fixes 2013-11-16 16:09:40 +00:00
gstbuffer.c buffer: Fix the name of the parentbuffermeta debug category. 2015-08-04 20:09:47 +10:00
gstbuffer.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstbufferlist.c bufferlist: Warn if copying a buffer fails in gst_buffer_list_copy_deep() 2015-06-24 10:52:56 +02:00
gstbufferlist.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstbufferpool.c bufferpool: sprinkle some allow-none and out annotations for g-i 2015-09-15 18:05:43 +01:00
gstbufferpool.h doc: Fix Since: marks 2015-06-13 20:19:59 -04:00
gstbus.c docs: bus: mention main loop requirement in gst_bus_add_watch() docs 2015-07-13 14:25:42 +01:00
gstbus.h bus: Add a function to remove a bus watch 2014-10-14 10:31:18 +02:00
gstcaps.c caps: clarify docs for a few functions that they don't update things in-place 2015-10-27 11:23:25 +00:00
gstcaps.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstcapsfeatures.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstcapsfeatures.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstchildproxy.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstchildproxy.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstclock-linreg.c clock: Make linear regression x/y base start from maximum observation. 2015-02-07 04:38:39 +11:00
gstclock.c doc: Fix typo in ref _clock_wait_for_sync() 2015-06-13 20:52:01 -04:00
gstclock.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstcompat.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstconfig.h.in docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gstcontext.c context: fix some copy and paste leftover in docs 2015-11-10 17:37:22 -03:00
gstcontext.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstcontrolbinding.c Don't compare booleans for equality to TRUE and FALSE 2014-12-01 09:51:37 +01:00
gstcontrolbinding.h docs: fix more gtk-doc warnings 2014-02-01 16:18:13 +01:00
gstcontrolsource.c gstcontrolsource: Add missing (out) annotation 2015-10-22 10:06:17 +02:00
gstcontrolsource.h docs: add missing docs, fixing doc errors 2013-12-03 00:11:59 +00:00
gstdatetime.c datetime: accept just a time as ISO 8601 string and use today's date then 2015-08-11 09:50:50 +01:00
gstdatetime.h datetime: added missing include directives 2014-09-23 19:27:25 +03:00
gstdebugutils.c debugutils: Fix string memory leak 2015-11-17 00:18:45 -03:00
gstdebugutils.h docs: mention xdot utility to view .dot files directly 2015-10-16 15:59:49 +01:00
gstdevice.c device: add generic struct with properties 2015-07-15 18:21:13 +02:00
gstdevice.h device: add generic struct with properties 2015-07-15 18:21:13 +02:00
gstdevicemonitor.c devicemonitor: fix provider leak 2015-08-08 17:59:51 +02:00
gstdevicemonitor.h deviceprovider: Add method to hide devices from a provider 2015-08-08 15:21:50 +02:00
gstdeviceprovider.c deviceprovider: Add method to hide devices from a provider 2015-08-08 15:21:50 +02:00
gstdeviceprovider.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstdeviceproviderfactory.c docs: Fix documentation typos and inconsistencies 2014-07-09 09:22:11 +02:00
gstdeviceproviderfactory.h devicemonitor: Make it possible to add multiple filters 2014-06-26 21:01:38 -04:00
gstelement.c tracer: add element-change-state-pre/post hook 2015-11-12 15:39:26 -03:00
gstelement.h bin: implement context propagation when adding elements 2015-09-28 18:21:59 +10:00
gstelementfactory.c element: emit tracer's element-new hook from 'constructed' 2015-10-29 07:27:35 -03:00
gstelementfactory.h doc: Unify Since mark for attribute and enum 2015-06-18 11:51:48 -04:00
gstelementmetadata.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gsterror.c fixme: bump leftover 0.11 fixme comments 2014-09-25 21:27:03 +02:00
gsterror.h doc: Fix Since: marks 2015-06-13 20:19:59 -04:00
gstevent.c event: Make sure that timestamp + diff in QoS events is never smaller than 0 2015-09-25 23:55:18 +02:00
gstevent.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstformat.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstformat.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstghostpad.c ghostpad: Allow deactivation with no peer. 2015-10-30 23:25:57 +11:00
gstghostpad.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstinfo.c gstinfo: fix infinite loop in gst_debug_unset_threshold_for_name() 2015-04-23 11:20:25 +01:00
gstinfo.h info: fix compiler warning with -Wpedantic and gcc 5 2015-11-24 09:34:59 +00:00
gstiterator.c iterator: Fix outdated example code and accompanying documentation 2014-12-27 10:59:31 +00:00
gstiterator.h docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE 2014-05-30 00:20:27 +01:00
gstmacros.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstmemory.c memory: provide a mem_map_full that takes the GstMapInfo 2015-06-12 16:12:10 +10:00
gstmemory.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstmessage.c message: add allow-none to gst_message_new_ function 2015-06-12 09:54:37 -03:00
gstmessage.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstmeta.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstmeta.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstminiobject.c gi: Skip mini object method that play with refcounting 2015-06-13 10:25:48 -04:00
gstminiobject.h doc: Fix annoation for GstMiniObject 2015-06-13 09:37:46 -04:00
gstobject.c gstobject: add gst_object_has_as_ancestor and deprecate previous function 2015-05-15 13:55:19 +02:00
gstobject.h gstobject: add gst_object_has_as_ancestor and deprecate previous function 2015-05-15 13:55:19 +02:00
gstpad.c pad: check template caps for proxy pads in accept-caps 2015-11-06 10:23:34 -03:00
gstpad.h gst: Documentation typo fix in caps & pad APIs 2015-09-19 17:57:55 +02:00
gstpadtemplate.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 21:21:51 +01:00
gstpadtemplate.h pads: update docs for request pads 2014-05-08 09:13:04 +02:00
gstparamspecs.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 21:21:51 +01:00
gstparamspecs.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstparse.c docs: gst-launch -> gst-launch-1.0 in example pipelines 2015-05-10 11:35:50 +01:00
gstparse.h docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE 2014-05-30 00:20:27 +01:00
gstpipeline.c pipeline: Add gst_pipeline_set_latency(), getter and GObject property 2015-06-11 12:55:34 +02:00
gstpipeline.h pipeline: Add gst_pipeline_set_latency(), getter and GObject property 2015-06-11 12:55:34 +02:00
gstplugin.c plugin: Don't do lossy shift on hash 2015-11-25 14:26:11 -05:00
gstplugin.h doc: Cannot reference GST_PACKAGE_RELEASE_DATETIME 2015-06-13 21:02:20 -04:00
gstpluginfeature.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstpluginfeature.h introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstpluginloader.c pluginloader: Fix typos 2015-03-25 23:36:54 +00:00
gstpluginloader.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstpoll.c poll: Prevent false-negative from WAKE_EVENT() on W32 2014-07-28 09:13:44 +02:00
gstpoll.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpreset.c Fix build with -Werror=maybe-uninitialized 2015-11-06 12:58:42 +01:00
gstpreset.h preset: add gst_preset_is_editable() 2014-12-12 21:49:16 +01:00
gstprotection.c protection: implement meta transform function 2015-07-11 00:19:20 +01:00
gstprotection.h doc: Fix Since: marks 2015-06-13 20:19:59 -04:00
gstquark.c quarks: revert the quark changes, we not using them anymore 2015-10-05 20:59:39 +02:00
gstquark.h quarks: revert the quark changes, we not using them anymore 2015-10-05 20:59:39 +02:00
gstquery.c allocation: Allow allocation pool without size 2015-03-14 12:00:53 +00:00
gstquery.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstregistry.c registry: Add plugins to the registry we are loading and not default one 2015-08-05 17:32:00 -04:00
gstregistry.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistrybinary.c DeviceProvider: Rename from DeviceMonitor 2014-06-26 14:45:30 -04:00
gstregistrybinary.h tracer: initial prototype for the tracing subsystem 2015-10-05 20:59:39 +02:00
gstregistrychunks.c tracer: split into tracer and tracerutils 2015-10-05 20:59:39 +02:00
gstregistrychunks.h DeviceProvider: Rename from DeviceMonitor 2014-06-26 14:45:30 -04:00
gstsample.c sample: add gst_sample_set/get_buffer_list apis 2015-06-22 13:17:01 +02:00
gstsample.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstsegment.c segment: Return -1 if gst_segment_to_stream_time_full() considers the position not inside the segment 2015-10-26 10:53:35 +02:00
gstsegment.h segment: Add _full variants of all stream/running_time from/to segment position functions 2015-10-23 15:50:38 +03:00
gststructure.c structure: add note about missing field creation on _set() 2015-05-31 20:22:34 -03:00
gststructure.h gstvalue: Add GstFlagSet type 2015-05-25 16:23:33 +10:00
gstsystemclock.c systemclock: Use mach_time on Apple platforms 2015-11-13 09:23:44 +01:00
gstsystemclock.h doc: Unify Since mark for attribute and enum 2015-06-18 11:51:48 -04:00
gsttaglist.c tags: add GST_TAG_PRIVATE_DATA 2015-11-20 19:43:31 +00:00
gsttaglist.h tags: add GST_TAG_PRIVATE_DATA 2015-11-20 19:43:31 +00:00
gsttagsetter.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gsttagsetter.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttask.c task: add function guard for _set_lock() and fix guard for _join() 2015-07-13 14:16:52 +01:00
gsttask.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttaskpool.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gsttaskpool.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttoc.c toc: minor code clean-up 2014-11-02 20:18:38 +00:00
gsttoc.h docs: Fix documentation typos and inconsistencies 2014-07-09 09:22:11 +02:00
gsttocsetter.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gsttocsetter.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttrace.c alloctrace: show details of events and messages leaked 2015-10-16 12:00:50 +01:00
gsttrace.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gsttracer.c tracer: strdup the passed parameters. 2015-10-05 20:59:39 +02:00
gsttracer.h tracer: move prototype to the right header 2015-10-06 18:52:38 +02:00
gsttracerfactory.c tracer: split into tracer and tracerutils 2015-10-05 20:59:39 +02:00
gsttracerfactory.h tracer: split into tracer and tracerutils 2015-10-05 20:59:39 +02:00
gsttracerutils.c tracer: add element-change-state-pre/post hook 2015-11-12 15:39:26 -03:00
gsttracerutils.h tracer: add element-change-state-pre/post hook 2015-11-12 15:39:26 -03:00
gsttypefind.c typefind: simplify registration code 2014-10-17 12:41:04 +02:00
gsttypefind.h docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gsttypefindfactory.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gsttypefindfactory.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsturi.c uri: fix behaviour for merging uris ending in .. without following / 2015-10-24 20:32:53 +03:00
gsturi.h docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc 2015-11-09 17:59:16 +00:00
gstutils.c utils: use caps when getting a compatible pad by template 2015-06-22 17:18:43 -03:00
gstutils.h utils: use 'static inline' instead of 'inline static' for gtk-doc 2015-11-09 18:02:09 +00:00
gstvalue.c Update GLib dependency to 2.40.0 2015-10-02 22:18:24 +03:00
gstvalue.h gstvalue: Add GstFlagSet type 2015-05-25 16:23:33 +10:00
gstversion.h.in gstversion: Add missing include in .in file. 2015-08-15 13:26:12 +02:00
Makefile.am tracer: split into tracer and tracerutils 2015-10-05 20:59:39 +02:00
math-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00