[Interest] is it ok to push audio on a background thread, not a timer?
Jérôme Godbout
godboutj at amotus.ca
Wed May 20 16:03:55 CEST 2020
If you are looking for some explanation of the QThread and how to use them properly, here a few other links:
1. https://www.kdab.com/multithreading-with-qt/
2. http://blog.debao.me/2013/08/how-to-use-qthread-in-the-right-way-part-1/
3. http://blog.debao.me/2013/08/how-to-use-qthread-in-the-right-way-part-2/
The problems with QThread was the doc was lagging behind for a while (it's now fixed thanks to the people who updated it btw). Many people where using the QThread in a way that they where shooting themselves in the foot with the Thread affinity and the emit directly into the QThread object.
Since QThread is a QObject and it create the thread, it doesn't itself reside into the created thread but in the thread that created the QThread object.
From: Interest <interest-bounces at qt-project.org> On Behalf Of David M. Cotter
Sent: May 19, 2020 7:11 PM
To: interest at qt-project.org
Subject: Re: [Interest] is it ok to push audio on a background thread, not a timer?
is it possible i'm just using QThread wrong? and it HAPPENS to work fine on mac but fails on windows?
is this blogger really revealing the ONE TRUE NATURE of QThread:
https://mayaposch.wordpress.com/2011/11/01/how-to-really-truly-use-qthreads-the-full-explanation/
?
-dave
On May 19, 2020, at 4:05 PM, David M. Cotter <dave at kjams.com<mailto:dave at kjams.com>> wrote:
anybody have any other ideas?
On May 18, 2020, at 9:12 PM, David M. Cotter <dave at kjams.com<mailto:dave at kjams.com>> wrote:
Note that you do initialise the i_auP pointer in your constructor's initialisation list
which is not a QObject, it's my own wrapper class
Irrelevant what it derives from
then i'm not understanding what your objection is.
i thought your objection was that objects derived from QObject, if they are used on a back thread then they must be either allocated there or "moved" there.
but since this i_auP is NOT a QObject, it's my own class, that i'm fine to allocate it in one thread (main) and then use it on another thread (audio pump thread) (provided and assuming i am careful to mutex any access from the main thread)
Are you saying that this calls a function that returned null?
sorry, what is "this" and what function are you referring to that returns null?
if you mean GetCUnit_Out() it returns an object of my own (not a QObject) that has already been allocated and is guaranteed to not be NULL
I repeat my request for a compileable example.
i hear you loud and clear but let's assume that's not happening for now and see how far we get
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200520/0d00feaf/attachment.html>
More information about the Interest
mailing list