- New API wraps gst.pbutils.Discoverer for mopidy use.
- Custom scanner code removed.
- Callback based async API switched with simpler synchronous API
- Scanner is feed one and one URI and returns the result or raises an error.
- Adds new ScannerError exception for error handling in scanner
- Limits local/scan_timeout to 1000-3600000 i.e. 1s to 1h
- Files with zero duration are now excluded.
- Mtime handling moved out of scanner so we can use it for streams etc.
- Use local:playlist:<name>, local:track:<path> and local:search uris
- Adds LocalPlaybackProvider which translates to file uris.
- Switches to storing actual uris in playlists - so local: urls and not
file:// or plain paths.
- Moved file:// to streaming plugin
- Cleaned up tests and imports for these changes.
This version of the scanner switches to using the updater API, in other words
we are now fairly close to being able to plug in alternate libraries for local
files and populate them with mopidy-scan.
Idea behind this class is to have a clear sub-set of our library API that is
only used for updating libraries. This makes it very clear what methods are
needed for just libaries and additionally updatable libraries.
Next couple of commits will build on this idea taking us closer to plugable
local libraries.
Tag cache is now output to a tmp file residing in the same folder as the real
one. Once generated the tmpfile is moved over the original file for an atomic
updated.
There's no need for appending every audio/x-raw-* structure to the gst.Caps
individually, they can all be listed inline inside the gst.Caps initialization.
(cherry picked from commit 13f0bfffe17c07ddbc3a8e5fc1e29c0015502392)
Enhance the caps for the uridecodebin element by appending to them structures covering
both audio/x-raw-int and audio/x-raw-float formats.
(cherry picked from commit bc33fce7b1e30745a4d2fc7e96e1a3c2640cc40e)