Доброго времени суток.
На этот раз вопрос скорее теоритический, из разряда «как сделать красивее, а не как всегда».
Задача:
Есть 4 канала по которым мы получаем видео поток (пока что это ip камера, позже это будет сигнал от преобразователя). Из этих 4 кадров мы делаем один в виде полиэкрана и отправляем его клиентам, клиенты пока что пишу я, потом это будет еще один преобразователь в аналоговый сигнал.
Как я это вижу - 4 потока(thread), по одному на видео поток. Еще один поток для создания полиэкрана. Он-то и будет отдавать основной функции полиэкранный кард идущий клиентам.
Встает вопрос - как сделать обмен данными между потоками? и надо ли в такой ситуации вообще делать по отдельному потоку на каждый видео сигнал?
Сейчас мне все кажется слишком перегруженным и не очевидным - я передаю в поток создания полиэкрана указатели на классы по приему видео (каждый из них в своем потоке) и указаатель на класс для полиэкранного видео, с которым работаю из основной функции.
И последний вопрос - поскольку было решено начать делать с нуля встает вопрос о языке реализации - С или С++. Так как С я лучше знаю, но С++ (с использованием boost) вроде как больше пригодится при смене работы.
Спасибо за советы.