That source is fallible

That source is fallible (Этот источник подвержен ошибкам) #

Иногда можно столкнуться с такой ошибкой. Скрипт при этом не стартует. В чем дело? В Liquidsoap мы говорим, что источником не подвержен ошибкам если он всегда доступен. В противном случае это означает, что что-то может пойти не так, и источник будет недоступен. По умолчанию для вывода требуется, чтобы его источник ввода был безошибочным, в противном случае он жалуется, что “Этот источник подвержен ошибкам!”.

Например, обычный playlist может быть ошибочным. Во-первых, потому, что он может содержать только недопустимые файлы или, по крайней мере, тратить слишком много времени на недопустимые файлы, чтобы иметь возможность подготовить правильный файл вовремя.

Кроме того, список воспроизведения может содержать удаленные файлы, быстрый доступ к которым может быть невозможен. Очередь пользовательских запросов - еще один пример ошибочного источника. Кроме того, если file.ogg является допустимым локальным файлом, тогда single(“file.ogg”) является безошибочным источником.

Когда выходы жалуются на то, что их источник подвержен ошибкам, вы должны превратить его в безошибочный. Доступно множество решений. Функция mksafe принимает источник и возвращает безошибочный источник, передавая тишину, когда входной поток становится недоступным. В потоке, подобном радио, тишина не является предпочтительным решением, и вы, вероятно, предпочтете fallback на “запасной” безошибочный источник:

fallback([your_fallible_source_here, single("failure.ogg")])

Наконец, если вас не волнуют сбои, вы можете передать параметр fallible=true для большинства выходов. В этом случае выход будет принимать ошибочный источник и останавливаться всякий раз, когда источник выходит из строя, и перезапускаться, когда он будет готов снова выдавать данные.

out = output.pulseaudio(fallible=true,radio)