As announced, I have now added to virtual methods to the stream handlers that allow users to allocate and deallocate resources within the acquisition thread.
Now you might ask, how does this help with Qt’s signals and slots?
Sending or receiving signals requires you to subclass QObject. As written above QObject is aware of its thread affinity. So in order to send a signal from the acquisition thread to the UI thread you need a QObject living in the acquisition thread!
Now you can create one in StreamHandler::Begin()
and delete it in StreamHandler::End()