Re: [linux-audio-dev] sound API libraries, servers, etc.

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

Subject: Re: [linux-audio-dev] sound API libraries, servers, etc.
From: Jussi Laako (jlaako_AT_pp.htv.fi)
Date: Thu Apr 26 2001 - 23:45:18 EEST


Here are my opinions on implementation.

My current "recording" server has following features I like (doesn't mean
such API should have all these):

 - Communication over TCP socket
 - One lazy client (who is not reading it's data) doesn't affect others
 - Sampleformat is normalized [-1..1] 32-bit float
 - Network byteorder is used (big endian)
 - Cross-platform (ie. OSS, ALSA and DirectX versions running on Linux,
   *BSD, Solaris, QNX and Windows)

In fact it's two to three layer deep and more complex, but it works well in
non-heterogenous distributed processing environment and avoids wasting
bandwidth. Negative side is that recording latency isn't very low (few
hundred ms) :( ...

> - read(int channel_id, ...)

I think there should be one channel streaming/block IO and also interleaved
multichannel streaming/block IO.

> - negotiating the used audio format

I think we should work using normalized 32-bit IEEE FP. HAL should select
the best resolution automatically and possibly do some dither/noise
shaping/interpolation.

> - we could force all channels to be mono, but it might
> be useful to support interleaved streams

Definitely.

MY biggest problem is to keep cross-platform compatiblity. OSS runs on
multiple platforms. ALSA's biggest problem is that it currently runs only on
Linux and QNX. Not to even mention about f*cking Microsoft APIs.

Things that should be tought:

 - Different OS platforms
 - Different hardware platforms (big/little endian, 32/64-bit)

PLEASE, do not create yet-another Linux-x86 -only API... :|

 - Jussi Laako

-- 
PGP key fingerprint: 161D 6FED 6A92 39E2 EB5B  39DD A4DE 63EB C216 1E4B
Available at PGP keyservers


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

This archive was generated by hypermail 2b28 : Fri Apr 27 2001 - 01:46:18 EEST