My rig, IC-7410, has a USB I/F for sound output and rig controls. The USB sound captured with your PC can be fed into Ices, a source client to provide an audio stream to, Icecast2, a streaming server, via Alsa. Let’s see how Alsa recognizes your USB I/F.
% arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: MID [HDA Intel MID], device 0: ALC889 Analog [ALC889 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: MID [HDA Intel MID], device 2: ALC889 Alt Analog [ALC889 Alt Analog]
Subdevices: 2/2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
card 1: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
You can see that, in this particular case, the USB Audio is at card 1 and device 0, or hw:1,0 in alsa terminology.
% cat ices.xml
<input>
<module>alsa</module>
<param name="rate">44100</param>
<param name="channels">2</param>
<param name="device">hw:1,0</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>
Then you will start both ices and icecast2.
% ices ices.xml
% icecast -c icecast.xml