encoder: jackd, jack.plumbing, alsaplayer, re_jackmixer, ices, icecast alsa capture - re_jackmixer - ices - icecast / \_ recording alsaplayer ---/ (fallback) schedular: restream.py(oggradiotools) ical_url(from schedular) provides times and url to stream | stream_studioA - \ | stream_archive - restream -> icecast -> reboot.fm stream_studioB - / decoder: jackd, jack.plumbing, alsaplayer, re_jackmixer, ices, icecast alsaplayer(in) - re_jackmixer - alsa playback / \_ ices - icecast alsaplayer ---/ \_ backup (fallback)