input and output buffers

From the ~/.moc/config file:

# Output buffer size in kilobytes. Minimum value is 128KB. */
OutputBuffer = 2048

# Input buffer size in kilobytes. Minimum value is 32KB. */
InputBuffer = 512

# How much to fill the input buffer before playing (in kilobytes)?
# This can't be more than InputBuffer value.
# Remember that for network streams beside the positive effect this also causes
# delay between what you can hear and what is broadcasted.
Prebuffering = 64

What effect does increasing these have? If I have loads of RAM and CPU power I guess I can increase these to say 4096, 1024 and 128. What are these buffers for and is increasing them a good thing? Thanks in advance!!

Increasing OutputBuffer makes sense if you have a slow CPU (like Pentium 200 MMX) and other applications are running. If you have a decent box, don't bother about this option.

There is one case when you could increase this even with fast hardware. OutputBuffer has a side effect: if it's bigger MOC preloads next file from the plylist/directory sooner, so if you have files that are "heavy" to load (you press enter on them and must wait some amount of time before MOC starts playing) this option will help. In practice there exist some big mp3 files in VBR (variable bit rate) without xing header that need to be scanned before playing.

Increasing InputBuffer will help if you play files from a slow storage/IO like a CD (especially bad quality) or sshfs using an internet connection. Playing with this option will help if you hear gaps in sound.

Prebuffering affects mainly internet streams. In practice it prevents gaps at the beginning of playing from a slow source and gaps while connection speed decreases for a short period of time.

Damian Pietras - MOC developer