Hiccups when other processes demand CPU

First of all, I have to say that I am very happy with MOC. I have completely switched over from other players, because it is lightweight, unobtrusive, easy to work with, and accessible. I even hacked PyPanel -- a taskbar+ program -- for it to read info on which MOC track is playing, and it works wonderful. You can see both in action at http://desktopcam.gatonegro.ceibes.org (the MOC window, and the PyPanel hack in the upper-rightish area).

Formalities aside, I have but one important issue with MOC: whenever I am using an application that has bursts of CPU usage -- something as simple as loading a page with Firefox, for example -- MOC 'hiccups', which means that it will stop playing for a fraction of a second (while the CPU burst lasts. Mind you, that if it lasts longer, it will remain silent while it does). Is should be worthwhile mentioning that this happens when only ~75% of the CPU is being used, not even at 100%.

I tried assigning MOC a lower nice value (as low as -10) without success. Any hints? Or is it a bug?

There are few things you can try:

Set OutputBuffer in the config file to something more than the default 512.
Also, InputBuffer can help if it's matter of IO load, not the CPU.
There is also UseRealtimePriority option which is set to "no" by default, to use it you must have proper permissions (set by ulimit -r)

--
Damian Pietras - MOC developer

I've been running 2.6.17-beyond3 for a long time now, and while using this kernel I started to use MOC and had absolutely no problems with it (except what I now think is a bug when moc plays mp3s with images in their tags and complains about a reserved header layer value, I'm looking into this, maybe look out for a patch someday ;). Anyway, I recently tried out the new vanilla 2.6.18 kernel, and I got this problem you're mentioning, despite it being a straight oldconfig upgrade, with the new kernel using the same IO scheduler etc. as the old one. So I downgraded back to 2.6.17-beyond3 and now MOC once again plays flawlessly. It could be totally unrelated, but you might want to try changing to a more desktop-oriented kernel like beyond or ck if you aren't already doing so.