scream
scream copied to clipboard
Use RTP as protocol
Hi @duncanthrax , could we implement some kind of "standard way" of distributing the audio stream? RTP comes to my mind here. Then we could check for dropped packets, do recovering and so on. This should be fairly simple to implement (on sender side).
Thanks a lot for your nice project!
There is actually a branch that implements RTP as a transport (16bit 44,1kHz stereo only). This is based on an older version of the driver. It does work, but there's a problem with the Scream driver operation model:
Scream does not have it's own timer loop, but just gets triggered when the Windows sound subsystem dumps audio data via IRQ. It then puts that data on the network. If no data arrives, Scream just stops sending packets.
Most RTP receivers cannot cope with sound stream cutting in and out and will exhibit strange buffering problems in these cases. In addition, many RTP clients buffer RTP heavily, adding a lot of latency.
Ah ok, i missed that other branch.
Well, my intention was not to support a "real" RTP receiver. But one could reuse some code from a RTP receiver.
I experienced some dropped packets while using scream within a WiFi network. If there had been at least the RTP sequence number, I could detect those kind of drop outs.