Продолжение темы Qt Phonon video player в отдельном потоке.
Отошел от фонона.
Есть GStreamer (ну и бинд к Qt). Нужно принимать видеопоток в rtmp, декодировать(ну и прочее), и после этого брать изображение в виде картинки(ну чтоб в QImage к примеру можно было в итоге запихнуть, или ещё в какой контейнер) для последующей передачи любым способом(ну вообще предполагается сигнал) и отрисовки где угодно. QGst::ui::widget или прочее не нужно, надо чтоб декодирование и отправка кадров проиходила в отдельном потоке, чтоб это дело не вешало гуи поток.
Внимание вопрос, как это можно сделать? Какие элементы гстримера использовать и как это всё далее преобразовать?
В примере плеера создание пайплайна происходит примерно так, и это работает нормально, потом передается url и всё показывает.
Я полагаю что нужно как-то вытащить кадры или как-то приконнектить пайплайн к обработчику, ну а дальше уже понятнее.
ниже вырезка из примера создания пайплайна, чтоб не было так постно:
//.. это всё в классе наследнике QGst::Ui::VideoWidget
m_pipeline = QGst::ElementFactory::make("playbin2").dynamicCast<QGst::Pipeline>();
if (m_pipeline) {
//let the video widget watch the pipeline for new video sinks
watchPipeline(m_pipeline); //тут виджет биндится к пайплайну
//watch the bus for messages
QGst::BusPtr bus = m_pipeline->bus();
bus->addSignalWatch();
QGlib::connect(bus, "message", this, &Player::onBusMessage);