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
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
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
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
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
5bb43f5aaa
Replace mutex lock/unlock pairs with guards, cleanups
2016-06-03 18:45:03 +02:00
Charles J. Cliffe
0a6d409065
tex update lock, VisualData"Re"Distributor
2015-09-10 21:48:18 -04:00
Charles J. Cliffe
0802f7b756
Experimenting with max speed waterfall (no dropped FFTs :)
...
- FFT Detail from zoomed-in views is greatly improved with the
additional data
2015-08-11 00:50:43 -04:00
Charles J. Cliffe
2cff389d6b
SpectrumVisualProcessor now working, cleanup, refactoring
2015-08-03 01:38:38 -04:00
Charles J. Cliffe
560eec1336
ScopeVisualProcessor now working
2015-08-01 11:03:00 -04:00
Charles J. Cliffe
6f3d9a6c82
visual process template tweaks, full() logic error fix
2015-07-31 21:28:14 -04:00
Charles J. Cliffe
61add8ae09
VisualProcessor now a template base, more tweaking needed
2015-07-31 21:03:17 -04:00
Charles J. Cliffe
3fbb1def49
MSVC and TDMGCC fixes
2015-07-31 18:21:30 -04:00
Charles J. Cliffe
3ab8669d06
Initial IOThread prototype
2015-07-29 18:34:58 -04:00
Charles J. Cliffe
0198f2410f
basic visual data pass-thru distributor
2015-07-27 22:05:35 -04:00
Charles J. Cliffe
090062191c
Visual processor basic framework
2015-07-27 21:45:24 -04:00
Charles J. Cliffe
a8e24d5537
Visual Processor prototype
...
link data -> visuals with common processing pipeline, chainable
2015-07-27 21:20:44 -04:00