I still haven’t found any out of the box solution to achieve smooth playback with zero buffer on the flash client.
However with flash 10.1 it gets much better as with earlier versions.
And even the actual minimum buffer can be now lowered to stuning 0.5s (before 3s/64 frames), but still grows in time and eventually comes to 5s and more, so it requires a special mechanism to reset it once in a while.
But for real low latency this is still unusable, so the only acceptable approach is to use zero buffer.
In this case with flash 10.1 the playback is smooth in about randomly 50% of the time and in other 50% it becomes choppy with fps arround 15-20.
After analysing this I found out that playback is smooth until audio packets are arriving after video packets (without audio it is impossible to achieve smooth playback), so obviosly flash buffers the video until it receives the corresponding audio packet to synhronize it with.
This way the buffer is not zero, but still very low (0.1-0.3s) to be considered lowlatency.
The random behaviour is probably due to wowza handling audio and video packets seperately and leaving the control to OS handling the sockets…
So from this perspective the solution is quite obvious. The stream server should be able to ensure sending the audio packet after the corresponding video packet in configurable time/buffer distance.
So my only question is: HOW TO DO THIS ?