cachingreader::read returning 0 on error prolongs problems

Bug #1424271 reported by Owen Williams
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Medium
Unassigned

Bug Description

Sometimes cachingreader::read gets a bad call -- like for an odd number of samples or something. However its solution is to return 0 on error, and then that result is passed up to getnextsamples, the play position doesn't increment and then everything falls apart. This has caused numerous bugs over the years to become big party-wrecking "playback stops and I have to eject the track" issues. Somehow we should catch these errors upstream so the enginebuffer can take action -- maybe set a flag and a call like "m_pReader->getError()" either returns NO_ERROR or READ_ERROR or something? And then the enginebuffer could do something like check the current play position or seek to 0 or I don't know what.

Sometimes, it's true, there's nothing to do but return zero (samples-requested is less than 0 for instance). But, like in the case of an odd number of samples, we can do a lot better than nothing.

Revision history for this message
Owen Williams (ywwg) wrote :
Changed in mixxx:
status: New → 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/7866

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.