Michael Sheldon's Stuff

Michael Sheldon (mike at mikeasoft dot com)

May 21, 2006

GStreamer Channel Splitting Element
Mike @ 12:45 pm

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 :).


Powered by WordPress