Commit Graph

1641 Commits

Author SHA1 Message Date
vsonnier
230a87d8df AudioThread: Revised mutex usage for devices vs. AudioThread* due to erroneous implem., creating crashes in some cases
(damn those things are hard...)
2017-10-28 11:57:01 +02:00
vsonnier
950a4622b7 Updated Windows liquid-dsp binaries to v1.31 (gcc 7.2.0) 2017-10-26 07:04:36 +02:00
vsonnier
3cc49bdb15 Fixes #581 ?: Do not set std::shared_ptr to nullptr in constructors (useless anyway) since they could be wrongly interpreted 2017-10-16 18:50:55 +02:00
vsonnier
6019207bd4 VisualProcessor : protect against null input queue 2017-10-15 08:51:01 +02:00
vsonnier
f4107c1541 Optimized VisualProcessor by using a non-recursive mutex and making some ops non-blocking, small AudioThread opt as well 2017-10-14 11:34:25 +02:00
Charles J. Cliffe
1c415afa92 Merge branch 'master' into audio_recording 2017-10-12 00:15:00 -04:00
Charles J. Cliffe
38fab6ac51 Add 'R' toggle key + fixes from initial testing 2017-10-12 00:08:22 -04:00
Charles J. Cliffe
f8e51df8cd Demod instance start/stop recording setup 2017-10-09 20:07:40 -04:00
vsonnier
2c1be22c51 Well, looks like WASAPI audio create crashes on Windows, so revert to good old DirectSound for audio 2017-09-27 21:45:08 +02:00
Charles J. Cliffe
c202d99a2a initial audio sink file and thread handling rough-in 2017-09-26 23:25:55 -04:00
Charles J. Cliffe
21dd062da0 Merge branch 'master' into audio_recording 2017-09-24 23:56:37 -04:00
Charles J. Cliffe
a398bc57f1 Initial AudioSink thread base and recoring preference 2017-09-24 23:50:08 -04:00
vsonnier
1a73f627a2 Frequency entry dialog font is slightly too big to fit, use the same as Label dialog instead 2017-09-24 12:46:33 +02:00
vsonnier
927d727a16 Try not to use atomics in performance code 2017-09-22 22:53:59 +02:00
vsonnier
aec0100f78 ThreadBlockingQueue : remove useless/dangerous operations, forbid both copy and assignment. 2017-09-10 19:35:12 +02:00
vsonnier
afedca05c6 Updated liquid-dsp v1.30 Windows binaries to GCC 7.2.0 (MSYS2) 2017-09-02 21:49:20 +02:00
vsonnier
030628c5ed SDRPostThread is better using try_push, restore previous audio-related code in DemodulatorInstance 2017-09-02 16:24:25 +02:00
vsonnier
87077a89c1 Fix #574: cannot enter frequency offsets > 2GHz 2017-09-01 18:39:35 +02:00
vsonnier
252b6bf9f8 AudioThread polishing 2017-09-01 06:18:35 +02:00
vsonnier
5460863608 Upgraded RtAudio to v5.0.0, WASAPI is now the default audio backend on Windows 2017-08-31 21:30:32 +02:00
vsonnier
3a5b30dda8 Fix AudioThread nullptr check 2017-08-31 21:29:53 +02:00
vsonnier
9bbcb582e3 Fix hang when the active demodulator goes out-of-bandwwidth by changing sample rate 2017-08-31 20:51:37 +02:00
vsonnier
3842cf087f More terminate()-and-flush calls missed before 2017-08-29 18:48:59 +02:00
vsonnier
dc9c67bec1 Fix a DemodulatorInstance dangling reference 2017-08-29 06:40:07 +02:00
vsonnier
03bf38fea8 Squashing an actual memory leak in SDRPostThread by simplifying the code 2017-08-28 21:22:07 +02:00
vsonnier
3f90cbb858 Flush queues on terminate() calls to unblock push()s and so ease threads termination 2017-08-28 20:53:21 +02:00
Vincent Sonnier
2d01a279e9 Merge pull request #572 from cjcliffe/vso_shared_ptr_DemodulatorInstances
Let's see if I've broken something :)
2017-08-27 14:47:10 +02:00
vsonnier
b52c4ac8a6 This lock is actually needed, restore it. 2017-08-27 13:35:11 +02:00
vsonnier
3c3939e0b7 Use nullptr instead of NULL when shared_ptr is used 2017-08-27 13:00:32 +02:00
vsonnier
37712c7a81 Simplify SDRPostThread: no longer binding methods, directly use the true list of demodulators 2017-08-27 12:39:28 +02:00
vsonnier
a8f8f4a7e2 Initial commit: working... 2017-08-27 11:11:30 +02:00
vsonnier
c112026a2c Make processing queues timed-push, to be able to escape deadlocks. Rollback 'restart device when blocked' that is ineffective in practice. 2017-08-26 23:34:48 +02:00
vsonnier
ebca762ea8 Fix crash introduced with #559, fix hanging thread at application termination 2017-08-25 18:52:33 +02:00
vsonnier
a018a36100 Add a read-only TX antenna menu entry showing the active one, closing #559 2017-08-25 07:28:14 +02:00
Vincent Sonnier
8993121fc6 Merge pull request #571 from cjcliffe/vso_SoapySDR_antenna_support
Add  Antenna support (RX only), plus improved Settings menu.
2017-08-25 06:23:22 +02:00
vsonnier
2c20f728d5 Settings UI even better, fix device config not right w.r.t real antenna presence 2017-08-24 21:26:28 +02:00
vsonnier
f5f4a80f23 Rollback addition of AGC,PPM in the SDRdevices menu, because not all devices support it. Keep Antenna selection, though 2017-08-23 23:49:52 +02:00
vsonnier
1042c62c3b Initial commit: Antenna support, Enhanced Settings menu, Enhanced SDR device dialog 2017-08-23 23:27:49 +02:00
vsonnier
e32e687fe8 Make IOThreads terminate() fully non-blocking and misc.
- Thanks to timed-pop() usage, it is no longer needed to nudge queues with dummy to wake them
- Less bad luck to be stuck there
- Misc: leave the trace about the audio thread staturation, useful despite it raises some alarm among users...
2017-08-14 09:46:53 +02:00
vsonnier
acc6d2a31d Restart the device automatically if stuck with read stream errors 2017-08-13 22:14:12 +02:00
vsonnier
c64baab99d Threads vs. Queues lifetimes, cleanups.
- Ideally Queues must outlive the threads using them, but wasn't done so. Yes, std::shared_ptr them!
- Now queues are always valid in the context of the threads using them.
- No longer need tedious queues deallocation by the original owner.
- Misc cleanups.
2017-08-13 19:19:25 +02:00
vsonnier
98c7c30aee Yet another Thread termination problem found, and try killing the app if the closing turns bad 2017-08-13 12:11:14 +02:00
vsonnier
33107bfa9e Fix #565, Solo mode is now saved into session files 2017-08-12 18:09:36 +02:00
vsonnier
ae74023864 Updated Windows liquid-dsp v1.30 binaries, compiled with latest MSYS2 GCC 7.1.0
- Apparently the 32bit build no longer need any dependency, so remove libgcc_s_dw2-1.dll
- Updated libwinpthread-1.dll from MSYS2 too.
2017-08-12 14:29:49 +02:00
vsonnier
e67a29f5b6 Don't get stuck when closing application just because some Demodulators refuse to die 2017-08-12 11:30:32 +02:00
vsonnier
33aa0cade6 Fix bad re-loading, setting and UI glitches for Device Runtime settings, and misc.
- Quite obvious on the SDRPlay RSP2 for ex.
- Random cleanups by using the for-each construct at some places for clarity.
2017-08-12 08:17:40 +02:00
Vincent Sonnier
695d00d966 Merge pull request #555 from lospheris/master
Change boolean to bool
2017-06-02 06:21:15 +02:00
Dell-Ray Sackett
ab6cb059b9 boolean not a valid keyword
changed boolean to bool in garbageCollect
2017-06-01 21:12:06 -07:00
Dell-Ray Sackett
b315bac97f Change boolean to bool
void DemodulatorMgr::garbageCollect(boolean forcedGC)
should be 
void DemodulatorMgr::garbageCollect(bool forcedGC)
2017-06-01 21:05:49 -07:00
vsonnier
3604b7f1ff Even better thread and application termination:
- Now that timed-pop()/try_pop() prevent indefinite blocking it is best to flush() on thread stopping to unblock push()
- Reworked a bit the CubicSDR::OnExit() sequence, see comments.
2017-06-01 19:57:58 +02:00