Skip calling ffmpeg if there are no files to probe

This commit is contained in:
Deluan 2020-04-02 17:38:20 -04:00
parent 670be29d7b
commit 3d6ce8a77f

View File

@ -169,6 +169,10 @@ func (s *TagScanner) processChangedDir(ctx context.Context, dir string, updatedA
delete(currentTracks, filePath)
}
numUpdatedTracks := 0
numPurgedTracks := 0
if len(filesToUpdate) > 0 {
// Load tracks Metadata from the folder
newTracks, err := s.loadTracks(filesToUpdate)
if err != nil {
@ -177,8 +181,6 @@ func (s *TagScanner) processChangedDir(ctx context.Context, dir string, updatedA
// If track from folder is newer than the one in DB, update/insert in DB and delete from the current tracks
log.Trace("Updating mediaFiles in DB", "dir", dir, "files", filesToUpdate, "numFiles", len(filesToUpdate))
numUpdatedTracks := 0
numPurgedTracks := 0
for _, n := range newTracks {
err := s.ds.MediaFile(ctx).Put(&n)
updatedArtists[n.AlbumArtistID] = true
@ -188,7 +190,10 @@ func (s *TagScanner) processChangedDir(ctx context.Context, dir string, updatedA
return err
}
}
}
if len(currentTracks) > 0 {
log.Trace("Deleting dangling tracks from DB", "dir", dir, "numTracks", len(currentTracks))
// Remaining tracks from DB that are not in the folder are deleted
for _, ct := range currentTracks {
numPurgedTracks++
@ -198,6 +203,7 @@ func (s *TagScanner) processChangedDir(ctx context.Context, dir string, updatedA
return err
}
}
}
log.Info("Finished processing changed folder", "dir", dir, "updated", numUpdatedTracks, "purged", numPurgedTracks, "elapsed", time.Since(start))
return nil