Одновременное подключение двух аудио FIFO, где один может не содержать данных, но имеет приоритет, к одному выходу FIFO

Одновременное подключение двух аудио FIFO, где один может не содержать данных, но имеет приоритет, к одному выходу FIFO

у меня естьмоментальный кадраудиосервер, настроенный на три аудиопотока (FIFO):музыка,транслировать, ивыход. Мои колонки воспроизводят звук свыходпоток, и мои музыкальные проигрыватели передают входной сигнал вмузыкапоток. Я могу успешно направить музыку на выход, чтобы слышать ее на динамиках, с помощью команды:cat /tmp/music > /tmp/output

Теперь я хочу реализовать функцию «переопределения», когда ввод оттранслироватьпоток вызываетвыходквместовоспроизвести (оповещение) изтранслировать, временно игнорируя поток отмузыкапока трансляция не закончится. Однако большую часть времени/tmp/трансляцияпуст и не имеет входных данных. Даже простая попытка подсмотреть содержимое через dd bs=1 count=1 if=/tmp/broadcastзависает терминал, пока в трансляции не появятся данные. Поэтому мои попытки сделать что-то вродеобъединить потокине увенчался успехом.

Я посмотрелffmpegи pulseaudio, но не могу понять, возможно ли такое "выборочное переопределение". Ffmpeg далее, похоже,есть ошибки с multi-fifo вводом. Идеальное решение также должно «звучать хорошо», то есть, возможно, сделать затухание на 1/4 секунды между потоками, пока трансляция берет верх.

редактироватьБегу Ubuntu Desktop 18.04. Упс!

Связанный контент