Commit Graph

1580 Commits

Author SHA1 Message Date
vsonnier
44cdfa8521 Make ReBuffer also GC its own memory + cleanups:
- Use deque in ReBuffer instead of vector (as before) because it allows freeing its memory
- Random cleanup: remove mutable when not needed.
2017-05-25 16:39:01 +02:00
Vincent Sonnier
3192ee0e71 Merge pull request #547 from cjcliffe/vso_ReBuffer_with_shared_ptr
Rebuffer automatic refcount management
2017-05-25 12:32:11 +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
8776908340 Fixes #546, when MTU > nb samples per-frame, overflow management was wrong. 2017-05-23 11:09:29 +02:00
vsonnier
5797548739 SoapySDRThread tweak: directly resize to the final size when building SDRThreadIQData 2017-05-23 11:09:28 +02:00
vsonnier
af20f680a4 Clearer ThreadBlockingQueue impl by using a field to hold size... 2017-05-21 21:04:12 +02:00
Vincent Sonnier
313d66e1d6 Merge pull request #545 from cjcliffe/vso_circular_buffer_for_queue
TheadBlockingQueue implemented with circular buffer (zero runtime mem allocs)
==> Well, looks like it works.
2017-05-21 10:31:22 +02:00
vsonnier
41c7dd231b Fix tabs introduced in latest commits... 2017-05-21 10:03:21 +02:00
vsonnier
e0af609224 Use a circular buffer for ThreadBlockingQueue (allocation-free) 2017-05-21 09:39:29 +02:00
vsonnier
fc2716518d SoapySDRThread: more comments about the relation between MTU and sample rate 2017-05-21 09:20:41 +02:00
vsonnier
c1fef72103 Use more a reliable time source in Windows for the Timer class 2017-05-20 13:31:55 +02:00
vsonnier
a541e55ff6 SaopySDRThread simplified, (small) perf improvement: No longer use inpBuffer,
write to SDRThreadIQData->data directly.
2017-05-20 13:31:46 +02:00
Charles J. Cliffe
21a6d2b5f6 Module bundling fix for OSX BUNDLE_APP 2017-05-12 22:19:19 -04:00
Charles J. Cliffe
1bf7c22f00 Donation list update 2017-05-11 22:51:39 -04:00
Charles J. Cliffe
994c67dd93 version bump 2017-05-11 21:43:50 -04:00
Charles J. Cliffe
15d8715234 Merge pull request #542 from Dantali0n/master
Fix portselectordialog being added to sources and headers while USE_HAMLIB disabled
2017-04-22 14:35:38 -04:00
Dantali0n
0e838327fe Fix portselectordialog sources only in win32 2017-04-22 20:25:35 +02:00
Dantali0n
0cf09d1f5d Fix portselectordialog added with USE_HAMLIB disabled 2017-04-22 14:24:07 +02:00
Charles J. Cliffe
91fd255c86 Remove temporary windows SSB filtering solution 2017-04-20 21:19:55 -04:00
Charles J. Cliffe
43ed37b23c Merge pull request #541 from cjcliffe/serial_detect
Fix rig control menu, add serial port detection and selection dialog
2017-04-20 20:52:44 -04:00
Charles J. Cliffe
21b2b3d191 MSVC serial fix-up 2017-04-20 20:41:03 -04:00
Charles J. Cliffe
f9dc1aeb32 Use the right function.. 2017-04-20 19:53:08 -04:00
Charles J. Cliffe
43a9150107 Fix rig control menu, add serial port detection and selection dialog 2017-04-20 19:40:09 -04:00
vsonnier
0a19686b51 Remove 'threadlocal' pedantic and very limited usage that is not supported on all platforms 2017-04-05 19:28:18 +02:00
vsonnier
c8cca67fc7 Bookmarks: fix for #525 item 2, other cleanups. 2017-04-01 19:38:08 +02:00
Charles J. Cliffe
53c7daa521 Merge pull request #533 from cjcliffe/bookmark_issues
Tweaks for bookmark selection, activation and group renaming
2017-03-30 22:45:38 -04:00
Charles J. Cliffe
f4d090e65b Tweaks for bookmark selection, activation and group renaming 2017-03-30 22:26:11 -04:00
Charles J. Cliffe
8df7feda60 Merge pull request #528 from cjcliffe/feature/build_opts2
Fix flip-flopping config path conflict when using alternate build name.
2017-03-22 21:12:34 -04:00
Charles J. Cliffe
1529fe3306 Fix flip-flopping config path conflict when using alternate build name. 2017-03-21 19:30:36 -04:00
Charles J. Cliffe
ba24322fdf Merge pull request #527 from cjcliffe/feature/build_opts2
Build opts / fixes
2017-03-20 22:18:36 -04:00
Charles J. Cliffe
ec10f2523e Some additional custom build opts; fix compile order issue on OSX; patch tuning label font glitch. 2017-03-20 20:20:17 -04:00
vsonnier
b0ec698012 Windows: no need to add libusb-1.0.dll binaries:
- libusb current master compiled with Visual C++ seems finally OK despite being a commmon deps between hamlib and SoapySDR.
2017-03-19 09:44:20 +01:00
Charles J. Cliffe
cadee60c15 Merge pull request #524 from cjcliffe/bookmark_label_edit_consistency
Groups now renamed like everything else via label control
2017-03-16 23:27:03 -04:00
Charles J. Cliffe
38e41eb85e Groups now renamed like everything else; remove onRenameGroup dc 2017-03-16 23:23:21 -04:00
Charles J. Cliffe
e45de44dbd Merge pull request #523 from cjcliffe/remove_treelabeledit
Fix the label editing issue :)
2017-03-15 21:32:04 -04:00
Charles J. Cliffe
243c744c0a Fix the label editing issue :) 2017-03-15 21:23:13 -04:00
vsonnier
772e24fdb3 Better comments on CF32 format coming out of SoapySDR 2017-03-10 19:12:54 +01:00
vsonnier
97639d1d09 BIG FIX: Truncated stream of incoming samples on 32 bit targets !
This one is a veryy old long standing bug I was look for. All 32 bit Windows builds
suffered indeed of corrupted sound defects in all circumstances (reported even on rtl-sdr.com coments)
that had no identifiable origin... Until now.
Given the fix, all 32 bit adress targets should be affected as well...
2017-03-08 22:52:20 +01:00
vsonnier
294713945a Bookmarks: a BookmarkEntry owns its DataNode, so free it in destructor 2017-03-07 18:30:33 +01:00
vsonnier
9726f0eec6 Bookmarks: no need to Delete a tree element when the next steps will take care of it 2017-03-06 19:51:27 +01:00
vsonnier
925203b4a5 Bookmarks (cont...) : more understanding, more comments, more fixes. NOW memory management should be clean... 2017-03-04 11:22:44 +01:00
vsonnier
7bab9588e1 Bookmarks: rollback delete item data procedures: reading wxWidgets labyrinthine code more carefully
item data is properly deleted by Delete or DeleteChildren. On the other hand, SetItemData simply overwrites the pointer,
so take care or releasing ressources there
2017-03-04 09:02:15 +01:00
vsonnier
b30f9e9bbb Bookmarks: assure proper recursive cleanup of ItemData for all levels of a tree item 2017-03-03 22:49:58 +01:00
vsonnier
aab899d63c Bookmarks fixes: try to cleanup Recent entries in order 2017-03-03 20:33:14 +01:00
vsonnier
b5a658bb4c Updated Hamlib v3.1 binaries for Windows using the official pre-build binaries:
- Gather all *.dll deps in external/msvc to preserve consistency
- This Hamlib distribution provides a pre-built libusb-1.0.dll, so add it to the common dependencies :
  this libusb-1.0.dll have only MSVCRT.dll as dependency itself, contrary to the one provided
  in CubicSDR binary releases, which turns out is not compatible with this Hamlib distribution.
  The libusb one from the Hamlib on the other hand works for both Hamlib and SoapySDR.
2017-03-03 19:37:32 +01:00
vsonnier
c1184d24db Bookmarks: cleanup item data properly 2017-03-02 22:10:17 +01:00
Vincent Sonnier
5fe844b8af Should fix #520 2017-03-02 11:25:39 +01:00
vsonnier
bd65377162 BookmarkPanel was missing the Disconect matching the new Connect... 2017-03-01 22:25:27 +01:00