Fix false positive "First sound has been moved!" warnings - #16054
Conversation
…s usually in C++.
…lse positive "First sound has been moved!" messages-
| pChunk->readBufferedSampleFrames( | ||
| sampleBuffer, probeFrameIndexRange); | ||
| VERIFY_OR_DEBUG_ASSERT(bufferedFrameIndexRange == probeFrameIndexRange) { | ||
| return; |
There was a problem hiding this comment.
As I understand, this early return would handle the case where the reader is unable to read the file (e.g IO issues). Since this could technically happen on a release build, could you put a qWarning message? My hopes is that there could be other messages in the log, related to readBufferedSampleFrames failing, but just to be extra sure, and since the early returns happen here, it would be safer to have log message attached to the abortion.
There was a problem hiding this comment.
This can no longer happen. That's just an assertion for this assumption. The actual fix has been done via
if (status == CHUNK_READ_SUCCESS) { above. I can add the additional basic warning anyway.
The actual warning about this situation is already in place.
"Failed to read chunk samples for frame index range:"
There was a problem hiding this comment.
I run into this assertion with a very short ogg track (1.74 s) I use for testing.
Also, when I put this track on repeat and play, it runs a few times, then stops at the end.
debug [CachingReaderWorker 1] SoundSourceProxy - SoundSourceProvider "Xiph.org OggVorbis" created a SoundSource for file "/mu/TickTack.ogg" of type "ogg"
debug [Engine] RubberBandWrapper::setup - using 2 channel(s) per task
critical [CachingReaderWorker 1] DEBUG ASSERT: "bufferedFrameIndexRange == probeFrameIndexRange" in function void CachingReaderWorker::verifyFirstSound(const CachingReaderChunk*, mixxx::audio::ChannelCount) at ./src/engine/cachingreader/cachingreaderworker.cpp:332
warning [CachingReaderWorker 1] skipping verifyFirstSound()
ffprobe finds no issues.
Is this a Mixxx issue or something else wrong with that file?
When I play a copy of that file, it passes the assertion but still fails to repeat (stops after ~3 rounds)
There was a problem hiding this comment.
Interesting. Can you file an issue and append the file or send it to me? Than will have a look.
|
Done. |
This may happen in case of cache misses. The issue was cough by valgrind: