I have an FM radio USB dongle (Silicon chip),  I have managed to stream the radio reception via icecast using the following configuration:the USB dongle is recognized by v4l2 driver and mounted at /dev/radio0 as a separate audio devicePulseaudio uses the FM radio device as a record deviceices2 uses the 'alsa' module with 'pulse' as deviceices2 connects and streams to an icecast server.This is fine, but if there is a second FM radio USB dongle mounted at /dev/radio1, I would like to have a second stream at the same time. Is there any possibility that ices2 can receive audio data directly from /dev/radio0 and /dev/radio1 separately and stream different channels?Would there be any other solution, like the Pulseaudio serve different recording input to each software source?
Multiple FM radio streams from /dev/radio* via v4l2, ices2 and icecast
streaming;v4l
Ok. The answer was easy. As you can see in the picture, PulseAudio allows different capture inputs for each recording software (in our case for each ices2 Alsa capture module). Therefore, one needs to start ices2 twice with one separate configuration file eachEach ices2 should define a new alse pulse source:    <input>        <module>alsa</module>        <param name=device>pulse</param>        <!-- Read metadata (from stdin by default, or -->        <!-- filename defined below (if the latter, only on SIGUSR1) -->        <param name=metadata>1</param>        <param name=metadatafilename>test</param>    </input>And two different instancesE.g for the first ices2<instance>        <!--    Server details.            You define hostname and port for the server here, along            with the source password and mountpoint.  -->        <hostname>localhost</hostname>        <port>4888</port>        <username>source</username>        <password>pasword</password>        <mount>/radio1.ogg</mount></instance>for the second ices2 <instance>        <!--    Server details.            You define hostname and port for the server here, along            with the source password and mountpoint.  -->        <hostname>localhost</hostname>        <port>4888</port>        <username>source</username>        <password>pasword</password>        <mount>/radio2.ogg</mount></instance>