The buffer operator does buffer audio, or any kind of content. It can
be used between two sources belonging to the same clock, but different
clocks need to be involved for buffers to be effective.
Two sources in the same clock stream at the same rate. If put a buffer
between two such sources, it will be filled and emptied at the same
rate, so it basically always stays empty.
Most of the time, you want a buffer to allow one source to be
(temporarily) faster than the other without breaking the stream, at
the cost of a small delay. This can only be achieved if the sources do
not belong to the same clock, which is why the buffer operator is
strongly associated with the notion of clocks in liquidsoap.
I hope this explanation helps (even though it comes quite late). If it
doesn't cover what you have in mind, let me know.