Ok, so here's a way to reproduce quickly:
Set up one harbor:
./liquidsoap 'set("log.level",5) output.dummy(fallible=true,input.harbor("test",logfile="/tmp/buffer.log"))'
Connect it to another local output:
where foo.mp3 is a small file.
The resulting graph is attached.
I have also experienced this with 0.9.2 but I am not sure if this related..
Coming back to the issue: the encoded vorbis data produced by liquidsoap is 100% correct and there does not seem to be any missing audio data..
However, during metadata update, there is a network data overhead for transmitting end of stream/beginning of stream. I am suspecting that the harbor input decoder never catchup from that and that this is the problem.
If this is true then the problem is not specific to vorbis and could also happen in case of temporary network lags. If they are less than a second, we will not see then in the log either..
What I do not understand is why the decoding thread never catches up.