As part of the Jokosher hackfest, which is happening as I write, I’ve finally sat down and mostly sorted out the channel splitting element. We need this element for handling multiple simultanious inputs from a single sound card due to them coming in as a single multi-channel stream and us needing lots of single channel streams. An example of its usage would be roughly along these lines:
|-- chansplit channel=0 -- etc -- filesink location=0.flac |-- chansplit channel=1 -- etc -- filesink location=1.flac alsasrc -- tee -- | |-- chansplit channel=2 -- etc -- filesink location=2.flac |-- chansplit channel=3 -- etc -- filesink location=3.flac
It’s not quite perfect yet, it should really output a stream with a single channel instead of just moving the selected channel to position 0 and silencing the others, but it’s usable. I’ve created a package for Ubuntu Dapper (should work on Debian unstable as well): gstreamer0.10-chansplit_0.10.1-0_i386.deb and the source is available from the Jokosher subversion repositories.
In related news, ensonic has just fixed a bug in GStreamer which was preventing playing a project multiple times in Jokosher, which is great :).