Всем привет!

Как следует подумав про задачу с записью ТВ, понял, что всё решалось бы при
помощи fifo aka named pipes - если бы не чрезмерная для данной цели
связность сторон. Придумал ТЗ на инструмент, решающий эту задачу. Но
написать его мне не по силам. Буду благодарен за помощь - или за подсказку,
что использовать вместо named pipes, чтобы такой инструмент не требовался.

Итак, ТЗ. Командная строка:

fifo-disentangle pipe1 pipe2

1. Процесс должен открыть pipe1 на чтение и создать pipe2 на запись.

2. Пока pipe2 находится в блокированном состоянии, процесс должен читать
pipe1 и молча отбрасывать полученные данные.

3. Когда pipe2 открыт, процесс должен читать pipe1 и писать данные в pipe2.

4. После закрытия pipe2 другой стороной (как я понимаю, при этом приходит
SIGPIPE) процесс должен пересоздать pipe2 и перейти обратно к 2.

Если такой инструмент будет, останется задача обработки видеопотока с
произвольной точки, но я надеюсь что её удастся решить.

-- 
Yours, Mikhail Ramendik

Ответить