vsonnier
0e3a785bd2
Fix for liquid-dsp v1.50 where msresamp_crcf_create() with mad As parameter somewhat creates crashes
2023-01-11 21:27:40 +01:00
dforsi
f461fcb94c
Fix typing errors ( #935 )
...
Found with:
codespell --skip=external --ignore-words-list=axix,bord,parm,soley,ue --write-changes --interactive 2
Co-authored-by: Daniele Forsi <iu5hkx@gmail.com>
2021-12-29 19:54:03 +01:00
Charles J. Cliffe
e9a6fc089c
Cleanup: data, visual processor threads
2021-04-04 22:18:19 -04:00
vsonnier
8dbd5de53d
No Spin-lock for xxxProcessor, unclear what the gain was
2019-03-04 18:44:48 +01:00
vsonnier
6afa3a6d6a
Reduced SpinMutex scope in VisualProcessor::distribute()
2019-03-03 11:42:34 +01:00
vsonnier
5ab44e3104
Use spin-locks for short-lived, non-recursive locking sequences
2019-03-03 10:36:10 +01:00
Charles J. Cliffe
c57a123130
Additional warning fixes; run brew update before brew install for hamlib
2019-01-10 21:23:26 -05: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
vsonnier
927d727a16
Try not to use atomics in performance code
2017-09-22 22:53:59 +02:00
vsonnier
3842cf087f
More terminate()-and-flush calls missed before
2017-08-29 18:48:59 +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
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
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
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
vsonnier
8f608bbf5c
Cleanup: remove some unused params and variables, conversion warnings seen with #550 .
2017-05-29 20:22:10 +02:00
vsonnier
3de3d3eee8
Tentative fix #549 prt 3
2017-05-27 12:36:47 +02:00
vsonnier
b3dd0b0d6e
Tentative fix #548 part 2
2017-05-27 09:49:19 +02:00
vsonnier
d170f731c5
Fix #549 , plus more usual syntax for #548
2017-05-27 07:46:28 +02:00
vsonnier
fcf9f0bb82
Potential fix for #548 , to be tested in Nix-like environnements
2017-05-26 23:22:43 +02:00
vsonnier
9b0ce69e8f
Use the nuclear option to solve the hung problem:
...
Besides deadlocks, a thread can in theory get stuck in a blocking pop(),
not seeing the stopping flag in particular. So assure liveness by making all
pop() timed pop.
2017-05-25 09:32:27 +02:00
vsonnier
77a82e1617
Another fix for the neverending hung application bugs:
...
- Clear up DemodulatorInstance garbage collection, only do it in a single thread (AppFrame::OnIdle)
- Add a specific mutex lock for the list of deleted demodulators,
- Add a specific lock to control DemodulatorInstance thread lifetimes, protecting IsTerminated() of concurrent join and delete
2017-05-25 08:03:08 +02:00
vsonnier
4b323e9863
Make ReBuffer refcount management automatic, using std::shared_ptr:
...
- No longer need to call setRefCount() / decRefCount()
- Restore old ThreadBlockingQueue using std::deque, for std::shared_ptr correct behaviour.
2017-05-24 12:28:37 +02:00
vsonnier
9e32141a5f
MISC4: Fix ref count of VisualDataDistributor (harmless, currently unused)
2017-02-15 20:45:46 +01:00
vsonnier
65c1722bca
FIX: VisualProcessor compilation on Linux targets ( #514 ), ThreadBlockingQueue version...
2017-02-14 18:42:12 +01:00
vsonnier
c7467a88bc
BLOCKING_QUEUE: prepare by raising up max queue lenghts
...
BLOCKING_QUEUE: Replaced ThreadQueue usage by ThreadBlockingQueue usage
BLOCKING_QUEUE: instrument all push() with timeouts, showed some call have to be non-blocking...
BLOCKING_QUEUE: tuned push()/try_push()
2017-02-14 18:42:05 +01:00
vsonnier
c0dafb3197
FIX: VisualProcessor compilation on Linux targets ( #514 ), suggested by @abousselmi, also works on MSVC
2017-02-14 18:34:25 +01:00
vsonnier
d3db510643
pre-BLOCKING_QUEUE: Simplified, fixed ThreadQueue, VisualProcessor (use std:deque, cleaner templates, max_size fixes)
2017-02-12 12:53:50 +01:00
vsonnier
4609386648
COMMENTS,POLISHING: comments fenzy around VisualProcessor machinery,
...
make process() a true interface as strong hint for derived classes,
plus misc define added for understanding.
BUGFIX: FFTDataDistributor loses incoming samples when compacting internal buffers.
BUGFIX2: FFTDistributor: Frozen Waterfall if internal buffer is no bigger than fftSize
2017-02-05 12:41:43 +01:00
vsonnier
115b0ffa58
CLEANUP: some compiler and static analysis warnings
2017-01-28 14:57:27 +01:00
Charles J. Cliffe
3ec14fbe38
Licence fix, add SPDX-License-Identifier, remove unused code files
2017-01-02 21:07:43 -05:00
Charles J. Cliffe
2bbae7209f
Solo squelch break focus lock/tweak
2016-08-12 22:58:33 -04:00
Charles J. Cliffe
6ea2b5b8e8
More squelch tweaks; include I/Q dB and compare to audio for peak
2016-08-12 21:34:34 -04:00
Charles J. Cliffe
117f56dd9e
Clean up redundant internal FFTW3 support; liquid-dsp will use FFTW3 if compiled in.
2016-07-20 18:43:54 -04:00
vsonnier
21c8a81c32
TH_CLEAN_3.5: push() cleanup side of things, assure SDRThread::readStream() to actually check for full + make ThreadQueue notify even in case on not-successfull push(), make it spam notify_all() everytime
2016-07-08 23:30:15 +02:00
vsonnier
b495b388c9
TH_CLEAN_3: Use of non-blocking try_pop() when possible,
...
AudioThread concurrent access hardening and simplified,
and misc.
2016-07-05 21:45:42 +02:00
vsonnier
52de909cfb
THREAD_CLEAN: Clearly distinguish between a request to stop by terminate() from the actual termination isTerminated()
2016-06-28 22:16:34 +02:00
vsonnier
23f3ff132a
FIX not-initialized audio samples in mono causing fucked FFT + pedantic touches
2016-06-25 16:02:44 +02:00
Charles J. Cliffe
296b0da04a
unnecessary frequency=0 check..
2016-06-03 20:35:08 -04:00
vsonnier
5bb43f5aaa
Replace mutex lock/unlock pairs with guards, cleanups
2016-06-03 18:45:03 +02:00
Charles J. Cliffe
6d63d570aa
comment out some noisy stdout logging until there's a proper facility for log outputs
2016-06-02 19:45:34 -04:00
Charles J. Cliffe
99f7beba49
ReBuffer is overkill for scope vis and crashes OSX; just push and delete at reciever; clean up lazy exception-fallback loadSession code
2016-06-02 19:25:52 -04:00
Charles J. Cliffe
d2943b56c4
Merge branch 'session_bugfix'
2016-06-01 19:48:32 -04:00
Charles J. Cliffe
688181e566
Cleanup MSVC warnings and deprecated C++ exception stuff
2016-06-01 19:42:34 -04:00
vsonnier
357dcc967b
MISC 1: make IOThread input and output queues returned as ThreadQueueBase*, not void*, cleaner.
...
then use static_cast for downcasts, because we know what we are doing
2016-06-01 19:42:11 +02:00
Charles J. Cliffe
b828b3636f
Add 'Reduced CPU Usage' menu option and config entry.
2016-03-31 21:32:50 -04:00
Charles J. Cliffe
020145c705
Make FFTW3 optional; liquid-dsp is performing better on it's own..
2016-03-20 18:56:13 -04:00
Charles J. Cliffe
3df7461a15
Add OSX About.. dialog, fix menu agc init logic, fix some queue limits
2016-02-28 22:44:17 -05:00