Allow uncompleted playback to be fetched
In order to implement a "Continue watching" feature from the UIs, we need to be able to return a list of media that have not been marked as completed, or that have a progress set.
The main issue is that the progress is a media meta, meaning it's application defined, and the media library doesn't know what the stored value means. For example, iOS uses the playback position, ie. a float in [0;1] range (https://code.videolan.org/videolan/vlc-ios/-/blob/master/SharedSources/MediaLibraryService.swift#L379) while vlc-android uses the current playback time (https://code.videolan.org/videolan/vlc-android/-/blob/master/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt#L444)
This prevents us from providing a way for the application to get the (most recent?) uncompleted playbacks.
We need to expose the progress as a full blown media field, and enforce a common representation for it
Add a progress field, holding a
REAL, defaulting to -1
- Index that field since we will be querying media filtering with this field
IMedia::MetadataType::Progress, be sure to assign 51 to the
by asetProgress` function, which will take the new progress, and update the play count accordingly
- Handle migration from Android & iOS previous meta
Not sure if we should enforce filtering out audio media when accessing uncomplete media.
uncompleteMedia is the best name, suggestions welcome :)