MDP ratings

To handle a client request for metadata, libmd queries all loaded MDPs for their ratings on the metadata fields listed in the request. Each MDP keeps an internal map of the fields it can extract from media files. This map contains the field names (i.e., metadata types) and other information such as which collation method to use for handling multiple values for a given field. MDPs consult this map to generate lists of field-specific Boolean ratings (1 means the plugin can extract the field, 0 means it can't) and then return these ratings to the data-processing layer.

When selecting an MDP plugin as the metadata source, libmd considers only MDPs that gave a rating of 1 for at least one metadata field, which means they can extract some or all of the requested information. To pick an MDP within the set of MDPs rated 1 for some field, libmd examines the plugin order for the file type of the media item named in the request. This plugin order is read from the configuration file during initialization (see Configuration file contents).