Move captured frame conversion to persistent worker
This commit is contained in:
1 parent
5c9bf9e47c
commit
7a2fa9e199
3 files changed
+74
-31
No files matched your search
@@ -144,9 +144,9 @@ stats timer и stream handle освобождаются до контекста
|
||||
|
||||
Desktop `MainWindow` владеет `StreamPublishEngine`, а окно управления лишь отображает
|
||||
его состояние. Закрытие окна сохраняет эфир, новый запуск запрещён до конца FIN drain.
|
||||
Qt capture callback конвертирует кадр в `QImage` до передачи worker и сохраняет последний
|
||||
`QVideoFrame` отдельно для preview. Конвертация и освобождение media frame не выполняются
|
||||
в короткоживущем video worker, поскольку Qt multimedia TLS может задержать его exit на Windows.
|
||||
Qt capture callback сохраняет последний `QVideoFrame` для preview и ограниченно ставит кадр
|
||||
в очередь отдельного долгоживущего image worker. Он конвертирует `QVideoFrame` в `QImage`;
|
||||
video worker получает готовый image и не создаёт Qt Multimedia TLS, которое могло задержать его exit на Windows.
|
||||
Video/audio workers выполняют encode/DSP вне GUI и hardware callbacks. Отдельные поколения источника и encoder позволяют менять
|
||||
видеокодек/bitrate/rotation без повторного выбора экрана в портале. Ошибки Qt capture
|
||||
обрабатываются через queued callback, чтобы не уничтожать backend из собственного callback.
|
||||
|
||||
Reference in new issue
Block a user