[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cdi-devel] Proposed Sound Infrastructure



Hi,

Recently there was discussion on this list about a sound device
interface, which serves the purpose of interfacing with sound hardware
directly (ie, sending streams to the device without mixing). Before I
continue, I would like to make clear that I approve of this interface.
The problems pointed out with it may well be solved in this proposed
infrastructure.

I would like to propose a multi-tier infrastructure for sound provided by CDI:

Applications <------> CDI Mixer <------> Sound devices (CDI)

- The "CDI Mixer" is a generic mixer which is provided with CDI and
can sit between hardware and applications/kernel code.
- Sound devices would use the same interface proposed recently on this list.
- Applications would access the mixer by some OS-defined protocol.

Having a mixer built into CDI would make CDI even more attractive as
it can be (theoretically) dropped in to an existing OS and provide
clean sound support.

I do believe that this needs further discussion, and as such I am
merely proposing the infrastructure at this stage. Things to still
consider include linking the mixer to sound hardware (in a generic,
OS-independent manner), how to implement the mixer generically, and
the CDI interface for a mixer device. We may also want to consider
sound hardware with hardware mixing support; how will these be
handled, how will they impact this infrastructure?

I'm open to thoughts and ideas, this is merely a proposal, and a draft
at that! :)

Cheers,
Matt