I'm trying to build a proof-of-concept presentation tool in which the presenter can select from multiple available audio streams (including a microphone/line in/currently playing audio programs if I can capture their output somehow) and broadcast that combined stream to a small number of clients.
I have a low maximum number of clients (under 30) so I could just create one thread per client connection and pass it data that it streams to the client. That part I can deal with just fine. The part I have no clue how to address in .NET is the audio streams: Where to get them from, how to manipulate them (combine, fade, etc.) and then how to send it to the wave device once I'm done "processing" the stream.
I'm not against using DirectX from my managed code, but I'll need lots of details on how to make it well-behaved for I do need a stable implementation.
I know I can already implement all the other features required, but on the audio streaming part I'm stumped, so therefore 200 points up for grabs if someone can lead me to a solution in .NET/C# so that I can get this project going.
I'll give a 1000 points if you give & explain to me C# code for a complete implementation equivalent to NullSoft's ShoutCast.