Hi,

I'm having issues which resemble those described a couple of different
posts I've seen online. Specifically, no PulseAudio playback streams appear
when trying to transmit (either via 'tune' or otherwise) with any of the
available pulse/audio devices, no sound is produced, and the process does
not exit when all GUI windows are closed.

For background, I'm a professional embedded software engineer but C++ and
Qt are entirely alien to me. I'm running wsjtx 2.5.4 (compiling locally for
the purposes of this), on Arch with pulseaudio.

After playing around a bit, it seems like there is not really a problem
with sound output, it's just that the 'm_audioThread' is locking up and so
m_soundOutput/m_modulator stuff never gets a chance to run. If I move
m_soundOutput
and m_modulator to a separate thread, then transmission works fine (both
'tune' and other transmissions').

mainwindow.h:
+   QThread m_audioThread2;

mainwindow.cpp:
-  m_soundOutput->moveToThread (&m_audioThread);
-  m_modulator->moveToThread (&m_audioThread);
+  m_soundOutput->moveToThread (&m_audioThread2);
+  m_modulator->moveToThread (&m_audioThread2);

With those changes, transmission works OK but reception only works until
the first transmission (OR the first time 'monitor' is switched off). When
either of those things happen, the m_audioThread thread starts thrashing
and no audio input is received from that point forward.

By gratuitous use of printfs, I've worked out that the call to
m_stream->suspend() in SoundInput::suspend() is never returning.
SoundInput::suspend() is called whenever monitor is deselected or a
transmission/tune begins, so that explains why the problem originally
appeared to be a transmission problem.

I've tried replacing the suspend/resume calls with start/stop, i.e.:

soundin.cpp:
-      m_stream->suspend ();
+      m_stream->stop();
...
-      m_stream->resume ();
+      m_stream->start (m_sink);

This seems to work (i.e. it makes reception work properly again after a
transmission or when 'monitor' is re-enabled), but I haven't tested it very
thoroughly. I'm hoping someone more familiar with Qt will have some
guidance here.

Some of my installed Qt package versions are:
qt5-base 5.15.7+kde+r173-1
qt5-multimedia 5.15.7+kde+r1-1

Thanks,

de Ryan M0RSU
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to