-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hiccup in cdio_paranoia #149
Comments
What does "becomes unresponsive" mean? What does "pause" mean? Check the verbose log for relevant messages. |
"Pause" means "lack of music" without setting player state to pause according to protocol.
The only residue of "pause" lasting few seconds is
hw:V102,0 is my dac, and when files are played there no underruns. dac is connected via usb, too. |
Even if the decoder thread stalls, the main thread which handles client commands should continue to run normally. A stall in the main thread is unusual. Please use |
mpd can be striped or no? should it be compiled in some special way? |
At this stage, stripped is ok. Use the same binary which you used to observe the problem. |
ok, this trace, I stopped strace when mpd "paused". |
I changed bluray writer to old cd-rom. Pauses are now 1-2 seconds long every 15 seconds. |
Thanks, that trace was very useful. I think I found the problem. Please test with branch unlock_cdio (https://github.com/MusicPlayerDaemon/MPD/tree/unlock_cdio) |
It works like a charm. Thanks a lot. No hiccups, even with bluray writer it works just great. |
Yay! This was an obvious mistake with MPD's mutex locking inside various input plugins, including the plugin which reads static file (what nearly everybody uses). This change will improve MPD by a biiig margin! |
InputStream::Read() and InputStream::Seek() are called with the mutex locked. That means the implementation must not block, or unlock the mutex before calling into blocking code. Previously, a slow CD drive could stall the whole MPD process, including the main thread, due to this problem. Closes #149
From which MPD version the fix is available? Thanks! |
I just want to thank you for this fix, i recently bought a laptop and the wakeups from the HDD made mpd hiccup a lot. Updating solved the problem (and i think this issue solved it all). |
Every few seconds there is a "pause", mpd becomes unresponsive and so on.
Both 0.20.11 and current git.
libc is musl, kernel is 4.13.12, architecture x86 (32bit),
libcdio-0.94, libcdioparanoia-10.2+0.94+2
maybe paranoia is too paranoid? maybe accuracy is not priority here?
cdrom is connected via usb.
The text was updated successfully, but these errors were encountered: