Implement a private/public state for the analyzed content
As it's already done for present/missing, we need a privacy setting for the contents analyzed by the media library.
This will allow the UPnP server (and most likely other servers in the future) to have a fine grain selection on what gets publicly exposed, instead of all or nothing.
How to implement this is not yet settled in stone, there are 2 main ways:
- Replicate what's done all around with is_present flags
- Compute it on the fly
The gutfeel is that computing this on the fly will lead to a major performance hit, since we won't be able to leverage any of the precomputed counters for various entities. For instance, if a user queries the public media groups, they would need to scan the entire media table each time to compute the number of video/audio & all.
On the other hand, having everything computed by some triggers is probably easier to handle once implemented, and all precomputed counters can be updated accordingly, however it basically means doubling the number of existing counters which will imply a lot of changes all over.