Теперь и мне придется искать нужное.
Три изменения:
1. src/main.py — архив теперь всегда идёт через локальный прокси, а не только когда пользователь вручную включил опцию:
python
if self.cfg.use_hlsgw.value or self.shift:
url = "
http://localhost:7001/url=%s" % quote(url)
Было только if self.cfg.use_hlsgw.value.
2. tools/hlsgwd.sh — переписан запуск. Старый вызывал start-stop-daemon с жёстко прописанным /usr/bin/python, которого на py3-образе нет, и рапортовал «started» даже когда процесс не выживал. Новый сам находит python3, отвязывает процесс через setsid (иначе он умирал вместе с породившей его сессией) и проверяет TCP-подключением, что порт 7001 действительно слушается, прежде чем сказать «запущено».
3. tools/hlsgw.py — порт на Python 3 плюс запись собственного pid в файл и логирование старта/падений в /tmp/hlsgw.log.
Суть: сам прокси был в плагине изначально и делал ровно то, что нужно — читает плейлист и склеивает сегменты с первого, а не с живого края. Он просто никогда не запускался. Причина, по которой это вообще понадобилось: архивные плейлисты не содержат #EXT-X-ENDLIST, поэтому плеер считает их живыми и стартует с живого края. Внешне это выглядит так, что инфобар показывает архивную передачу, перемотка работает, а на экране идёт текущий эфир.
И в догонку
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.