Skip to content
  • Filip Roséen's avatar
    playlist/fetcher: refactor · ea88b8d6
    Filip Roséen authored and Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen committed
    
    
    The following changes refactors the fetcher to take advantange of the
    newly introduced background_worker helper. The new implementation
    should not only be easier to maintain, but it also adds some
    advantages over the old implementation:
    
     - The implementation has shrunk in size.
    
     - A fetch-request can include a timeout.
    
     - Given that there now is a background worker associated with each of
       the different fetcher types (local, network, download):
    
        - A slow download does not prevent the network-fetcher from
          working the queue.
    
        - A slow network-fetcher does not prevent further work in regards
          of pending requests in the local fetcher.
    
     - A fetch request can now be properly cancelled (most importantly
       during VLC close).
    
     - We no longer invoke modules with "meta fetcher" capability if the
       item already has all metadata in terms of title, album, and artist.
    
     - We no longer invoke modules with "art finder" capability of the
       item already has vlc_meta_ArtworkUrl.
    
    fixes: #18150
    
    Signed-off-by: default avatarHugo Beauzée-Luyssen <hugo@beauzee.fr>
    ea88b8d6