Re: [ecasound] Network streaming with ecssound

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [ecasound] Network streaming with ecssound
From: Kai Vehmanen (k_AT_eca.cx)
Date: Thu Feb 27 2003 - 01:24:51 EET


On Tue, 25 Feb 2003, Ronald L. Jolly wrote:

> The requirement is to send the raw PCM data as it is being processed/recorded
> from the sound card and send the data using TCP/IP to another Linux node.

The critical question is: is latency a critical factor?

If not, then adding transmission and reception of audio over TCP is really
simple. If yes, then things get complicated. Low-latency audio+network
requires not only careful audio handling, but also very intelligent
network side handling. At this point I don't want to take ecasound to that
direction.

> I have written BSD sockets applications, and thought that I might be able to
> stream the data via UDP to another node. Any ideas on where in Ecasound to do
> this?

Stepping from TCP to UDP is the first difficult part. This step is needed
to allow low latencies (TCP can never deliver this), but with UDP you have
to manage transmission rates (unlike with TCP, if you send too fast with
UDP, packets will be lost), retransmissions, packet reordering, packet
losses and so on. A good start is to look at RTP (doesn't really solve
anything by itself, but provides a good framework for the actual
work/solutions).

This stuff is not impossible, but is not really close to ecasound's core
functionality. And ok, to be completely honest about this, I don't want to
get involved too deeply in any kind of network-related stuff in FOSS
(free-and-open-source) projects because of my daytime job (which is
network related). But, but, of course I gladly accept patches if someone
else does the work. :)

-- 
 http://www.eca.cx
 Audio software for Linux!


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Feb 27 2003 - 01:17:35 EET