Auto-DJ stops when file is missing but cached

Bug #974640 reported by Daniel Schürmann
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Low
Daniel Schürmann
1.10
Fix Released
Low
Daniel Schürmann

Bug Description

TrackInfoObect caches the file exist info.
It may happens that a cached file no longer exists do to a removable media.
In this case, Auto-DJ does not skip the missing track.
The attached patch solves the problem against lp:mixx #3003

Tags: autodj
Revision history for this message
Daniel Schürmann (daschuer) wrote :
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

My main hesitation with the patch is that it makes a method of TIO hit the disk (And QFileInfo is notoriously slow) so if someone called exists() on a ton of TIO's in a loop or if somebody called exists() in the engine callback we would be doing file I/O without realizing it. I looked at all the callers of TIO::exists() and CachingReader calls it but from the CR thread and not from the engine callback. So I think the patch is fine to add.

Could you use QFile::exists() instead of QFileInfo? I think that QFileInfo looks up much more information from the filesystem that we won't use. Hopefully the implementation of QFile::exists() is cheaper.

RJ Skerry-Ryan (rryan)
Changed in mixxx:
milestone: none → 1.10.1
RJ Skerry-Ryan (rryan)
Changed in mixxx:
assignee: nobody → Daniel Schürmann (daschuer)
importance: Undecided → Low
tags: added: autodj
Changed in mixxx:
status: New → In Progress
Changed in mixxx:
milestone: 1.10.1 → 1.11.0
Revision history for this message
Daniel Schürmann (daschuer) wrote :

I have set this bug to triaged, because the patch does not solve the issue for the 1.10 branch.
Furthermore there are some other Auto DJ issues which are more annoying. We should consider if we back port some of the auto DJ parts of 1.11 to 1.10.1 or if we just recommend to upgrade to 1.11 if one wants to use Auto DJ.

Changed in mixxx:
status: In Progress → Fix Committed
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6344

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.