Rework of full resolution (version 2)



This is a new version with a new, simpler implementation of the helper function
missing_in_data().

Since intersect_list() was not used elsewhere, I removed it, keeping it under
my elbow for the time when I get to refactor all this
grl_metadata_source_filter_*() stuff.

For the record, here's the original description of this patchset, which still
holds:

This patchset reworks full resolution in the following ways:
 - _key_depends() is deprecated by a new _may_resolve() that provides more
   information and cleaner semantics, fixing bug #640667 [1]
 - the functionality of grl_metadata_source_setup_full_resolution_mode() is
   split into two parts, grl_metadata_source_expand_operation_keys() and
   grl_metadata_source_get_additional_sources(). One being called before the
   operation, and the other one after.

I have started work on proper unit testing of this, based on test sources I had
already started [2], but as it is a very lengthy task, I have decided to
postpone it for now. Instead, I ran some tests with grilo-test-ui trying to
cover most of the common cases that happen with the current metadata providers
we have, and things seem to run smoothly.

It now gives real usefulness to plug-ins such as lastfm, gravatar or
local-metadata, since they are now called and able to provide information that
the media source claimed it could get but didn't manage to get (common with
e.g. upnp or tracker).





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]