f4exb
a099b05fb6
Merge pull request #164 from jigpu/memleak-fixes
...
Memleak fixes
2018-04-22 07:40:58 +02:00
Jason Gerecke
1eaae0de30
BFM demod: Delete the SpectrumVis when destroying BFMDemodGUI
...
Take care of a pair of memory leaks that occur when the BFM demod GUI
is closed.
==786== 19,952 (24 direct, 19,928 indirect) bytes in 1 blocks are definitely lost in loss record 7,065 of 7,081
==786== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
==786== by 0x54C82ED: allocate (new_allocator.h:111)
==786== by 0x54C82ED: allocate (alloc_traits.h:436)
==786== by 0x54C82ED: _M_get_node (stl_list.h:383)
==786== by 0x54C82ED: _M_create_node<FFTWEngine::Plan* const&> (stl_list.h:572)
==786== by 0x54C82ED: _M_insert<FFTWEngine::Plan* const&> (stl_list.h:1801)
==786== by 0x54C82ED: push_back (stl_list.h:1118)
==786== by 0x54C82ED: FFTWEngine::configure(int, bool) (fftwengine.cpp:35)
==786== by 0x4F4590B: SpectrumVis::handleConfigure(int, int, FFTWindow::Function) (spectrumvis.cpp:206)
==786== by 0x4F459EE: SpectrumVis::handleMessage(Message const&) (spectrumvis.cpp:170)
==786== by 0x548346C: BasebandSampleSink::handleInputMessages() (basebandsamplesink.cpp:21)
==786== by 0x69E1615: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQt5Core.so.5.10.1)
==786== by 0x5497D4B: MessageQueue::push(Message*, bool) (messagequeue.cpp:52)
==786== by 0x33F9D61A: BFMDemodGUI::BFMDemodGUI(PluginAPI*, DeviceUISet*, BasebandSampleSink*, QWidget*) (bfmdemodgui.cpp:352)
==786== by 0x33F9D985: BFMDemodGUI::create(PluginAPI*, DeviceUISet*, BasebandSampleSink*) (bfmdemodgui.cpp:50)
==786== by 0x33FB035D: non-virtual thunk to BFMPlugin::createRxChannelGUI(DeviceUISet*, BasebandSampleSink*) (bfmplugin.cpp:57)
==786== by 0x4F47F19: DeviceUISet::loadRxChannelSettings(Preset const*, PluginAPI*) (deviceuiset.cpp:201)
==786== by 0x4EA51EA: MainWindow::loadPresetSettings(Preset const*, int) (mainwindow.cpp:575)
==786== by 0x4EAC81B: MainWindow::MainWindow(qtwebapp::LoggerWithFile*, MainParser const&, QWidget*) (mainwindow.cpp:176)
==786== by 0x10A49B: runQtApplication(int, char**, qtwebapp::LoggerWithFile*) (main.cpp:120)
==786== by 0x109B38: main (main.cpp:131)
==786==
==786== 54,096 (112 direct, 53,984 indirect) bytes in 1 blocks are definitely lost in loss record 7,075 of 7,081
==786== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334)
==786== by 0x69E9162: QObject::QObject(QObject*) (in /usr/lib/libQt5Core.so.5.10.1)
==786== by 0x5497BEE: MessageQueue::MessageQueue(QObject*) (messagequeue.cpp:26)
==786== by 0x54834FF: BasebandSampleSink::BasebandSampleSink() (basebandsamplesink.cpp:6)
==786== by 0x4F45A29: SpectrumVis::SpectrumVis(float, GLSpectrum*) (spectrumvis.cpp:26)
==786== by 0x33F9D53C: BFMDemodGUI::BFMDemodGUI(PluginAPI*, DeviceUISet*, BasebandSampleSink*, QWidget*) (bfmdemodgui.cpp:342)
==786== by 0x33F9D985: BFMDemodGUI::create(PluginAPI*, DeviceUISet*, BasebandSampleSink*) (bfmdemodgui.cpp:50)
==786== by 0x33FB035D: non-virtual thunk to BFMPlugin::createRxChannelGUI(DeviceUISet*, BasebandSampleSink*) (bfmplugin.cpp:57)
==786== by 0x4F47F19: DeviceUISet::loadRxChannelSettings(Preset const*, PluginAPI*) (deviceuiset.cpp:201)
==786== by 0x4EA51EA: MainWindow::loadPresetSettings(Preset const*, int) (mainwindow.cpp:575)
==786== by 0x4EAC81B: MainWindow::MainWindow(qtwebapp::LoggerWithFile*, MainParser const&, QWidget*) (mainwindow.cpp:176)
==786== by 0x10A49B: runQtApplication(int, char**, qtwebapp::LoggerWithFile*) (main.cpp:120)
==786== by 0x109B38: main (main.cpp:131)
2018-04-21 18:56:21 -07:00
Jason Gerecke
141997475c
BFM demod: RDS demod: Initialize RDSDemod array elements
...
The m_parms.tot_errs array is not initialized prior to its first use
in the RDSDemod::biphase function. ASAN does not pick up on this
directly, but instead reports it as follows (note that ASAN fills
memory with 0xBE and -1094795586 is 0xBEBEBEBE):
./plugins/channelrx/demodbfm/rdsdemod.cpp:159:95: runtime error: signed
integer overflow: -1094795586 + -1094795586 cannot be represented in type
'int'
The m_parms.subcarr_bb array does not appear to be read prior to
initialization, but we initialize it to zero anyway for the sake
of good hygiene.
2018-04-21 18:54:19 -07:00
Jason Gerecke
f6ea7b216e
Fix spelling errors present in UI files
2018-04-21 18:44:54 -07:00
f4exb
5c51297717
Moved FFT filter destruction at end of the mod or demod destructor
2018-04-18 22:20:47 +02:00
f4exb
01798c9d15
BFM demod: RDS parser: fixed compiler warning
2018-04-15 22:03:31 +02:00
f4exb
a37443fe58
BFM demod: bumped version
2018-04-12 00:13:40 +02:00
f4exb
2d0e0290a0
BFM demod: fixed RDS parser bug when processing optional content (issue #157 )
2018-04-12 00:12:51 +02:00
f4exb
8dfdc1086c
PVS-Studio static analysis corrections (4)
2018-04-04 23:39:31 +02:00
f4exb
53beb8a92d
Removed UDP address and port from Channel marker
2018-03-30 19:06:27 +02:00
f4exb
3b882e78b4
BFM demod: removed UDP/RTP copy audio entirely
2018-03-28 09:43:33 +02:00
f4exb
44b4b3cc85
Multiple audio support: WFM demodulator
2018-03-28 07:44:54 +02:00
f4exb
ae0470218c
Multiple audio support: BFM demodulator
2018-03-27 23:57:29 +02:00
f4exb
ebf3b1fc4b
RTP fixes
2018-03-27 09:04:10 +02:00
f4exb
6f8d546ab7
BFM demod: removed copy to UDP/RTP
2018-03-27 00:30:21 +02:00
f4exb
745e187e2b
Multiple audio support: extend audio output information to UDP/RTP information. New audio preferences dialog
2018-03-25 11:50:34 +02:00
f4exb
7aaa230eb4
Multiple audio support: added ability to manage more than one audio output
2018-03-24 23:50:28 +01:00
f4exb
15e62814de
Multiple audio support: removed audio methods from DSP engine and use AudioDeviceManager instead
2018-03-24 03:36:49 +01:00
f4exb
170c59de43
Channel Rx demods: in constructor make sure the thread is launched when all members have been properly initialized (i.e. do it last)
2018-03-16 10:24:19 +01:00
f4exb
b2e446afcc
Windows build: new location for export header
2018-03-10 20:32:46 +01:00
f4exb
dc9cb0463f
BFM demod: implement RTP over UDP for audio copy
2018-03-10 07:03:11 +01:00
f4exb
28e9df5fe8
Clang clean compile
2018-03-04 01:47:51 +01:00
f4exb
2e5cfcafee
PVS-Studio static analysis corrections (3) issue #137
2018-02-24 10:29:27 +01:00
f4exb
2b846f5d28
PVS-Studio static analysis corrections (2) issue #137
2018-02-22 03:04:42 +01:00
f4exb
67e664ef06
Fixed memory leak with handling of DSPSignalNotification message in modulators and demodulators. Removed reference to unused PIDController class
2018-02-14 20:11:36 +01:00
f4exb
0d2c0ca117
Revert "BFM demod: implemented use RTP protocol for audio over UDP"
...
This reverts commit d946ceffc8
.
2018-02-06 01:18:13 +01:00
f4exb
dda124f1fb
Revert "AM, BFM demods: use button switch for RTP switch"
...
This reverts commit 2ee3161b50
.
2018-02-06 01:17:52 +01:00
f4exb
2ee3161b50
AM, BFM demods: use button switch for RTP switch
2018-02-05 18:25:31 +01:00
f4exb
d946ceffc8
BFM demod: implemented use RTP protocol for audio over UDP
2018-02-05 18:19:32 +01:00
f4exb
b0a97510e2
Moving average cleanup
2018-02-03 10:33:02 +01:00
f4exb
a47587e16f
Specify Scope and Spectrum Vis floating point sample scale
2018-01-22 14:07:24 +01:00
f4exb
2ddcb8c358
Differentiate Rx and Tx DSP sample sizes
2018-01-22 08:46:05 +01:00
f4exb
491b8a6d33
Replaced hardcoded bit scaling literals by defines
2018-01-21 10:57:04 +01:00
f4exb
bde2f3447e
BFM demod: fixed pilot power GUI display
2018-01-13 04:04:34 +01:00
f4exb
6885dd1fe6
All concerned demods: call applyChannelSettings with force=true at construction and start.
2018-01-09 00:59:10 +01:00
f4exb
0c39c9dfd3
BFM demod: RDSTMC: use char* instead of std::string for constant array
2017-12-31 11:54:56 +01:00
f4exb
ffa24cde9b
BFM demod: RDSTMC: specify 0 value in array initialization
2017-12-31 11:45:47 +01:00
f4exb
723df69943
BFM and DSD demod: gcc7 warnings fixes
2017-12-31 03:16:30 +01:00
f4exb
3f96ce4187
BFM demod: set -fno-var-tracking-assignments for rdstmc.cpp as it makes compilation very busy and memory hungry for nothing. May fix compilation on RPi3
2017-12-31 02:14:46 +01:00
f4exb
d476736487
Demods : use specific method to apply channelizer sample rate and frequency offset changes. Separate this data from settings
2017-12-29 11:04:47 +01:00
f4exb
e39e080cc0
Channel source/sink APIs: removed useless getDeltaFrequency pure virtual method
2017-12-29 05:22:26 +01:00
f4exb
324aaa86b6
Plugins: cppcheck corrections
2017-12-29 03:22:04 +01:00
f4exb
31aacc9571
Plugin interface: simplify createRxChannelGUI
2017-12-23 10:32:02 +01:00
f4exb
703aa21159
Plugin interface: simplify createRxChannel
2017-12-23 09:54:42 +01:00
f4exb
514e408aac
Server: Web API: /sdrangel/deviceset/{deviceSetIndex}/channel POST implementation and rework in the PluginInterface
2017-12-23 05:56:40 +01:00
f4exb
9dd707896d
Use a name field in channels to be used in headless version to replace the GUI object name that was used as the name field
2017-12-20 23:57:06 +01:00
f4exb
e1ad61d692
Bumped version of all channel plugins
2017-12-18 00:06:01 +01:00
f4exb
6d12443100
Server: changes to support DeviceSet
2017-12-17 23:15:42 +01:00
f4exb
02e0945368
Web API: implemented /sdrangel/channels: Get a list of channel plugins available in this instance
2017-11-23 01:19:32 +01:00
f4exb
dc50ba1249
Web API: report Rx channel info summary
2017-11-19 18:18:17 +01:00
f4exb
b91ad7c4b7
Web API: added channel enumeration in /sdrangel GET. Partial implementation in channel plugins
2017-11-19 03:38:07 +01:00
f4exb
3db655fe61
Highlight demod frame when the marker is highlighted on the spectrum
2017-11-14 22:58:35 +01:00
f4exb
f6337e4597
Bumped version to 3.8.4
2017-11-14 01:50:14 +01:00
f4exb
a182656294
BFM Demod: applied new channel marker signal handling
2017-11-14 01:23:01 +01:00
f4exb
8958edd4be
BFM demod: fixed spectrum gui update when channel sample rate changes
2017-11-12 14:58:52 +01:00
f4exb
c4e26bf66d
Rx channel plugins: use the demodulator constructor separated from the demodulator GUI constructor
2017-11-09 01:03:05 +01:00
f4exb
4ad038ed9d
Created demod constructor method in all Rx channel plugins
2017-11-08 14:23:49 +01:00
f4exb
76bf0ad104
Rx plugins: removed useless create method in private slot
2017-11-08 00:03:12 +01:00
f4exb
9ff05baa70
Renamed createRxChannel to createRxChannelGUI to described only the GUI will be created there in the future
2017-11-07 23:49:27 +01:00
f4exb
95f9df8396
Moved m_deviceAPI->addThreadedSource at the end of the constructor sequence in all channel plugins
2017-11-06 01:39:44 +01:00
f4exb
7370eba0f7
Bumped version to v3.8.0
2017-11-01 14:58:36 +01:00
f4exb
e206fc84a8
Create channel registration methods for the Tx part in DeviceUISet
2017-10-31 22:37:57 +01:00
f4exb
a61bb04dac
Rx Channel plugins now handled via DeviceUISet
2017-10-31 08:24:05 +01:00
f4exb
a106deeaf7
Make a static getter of Main Window reference as it is de facto a singleton. Use it in place of plugin API getter
2017-10-24 13:45:10 +02:00
f4exb
fa77ca3fb6
Code re-organization in two libraries sdrbase and sdrgui in view of core / GUI split
2017-10-22 19:12:43 +02:00
f4exb
e36a6a0eb7
BFM demod: bumped version
2017-10-21 10:35:49 +02:00
f4exb
32f284a0de
BFM demod: fixed missing channel configuration message handling
2017-10-21 10:35:03 +02:00
f4exb
8c2483a850
Demod GUI corrections
2017-10-12 01:21:30 +02:00
f4exb
f19572ed0e
BFM plugin: fixed channel marker save to settings
2017-10-08 03:47:18 +02:00
f4exb
6095cf549c
BFM demod: use settings in the demod
2017-10-01 20:17:20 +02:00
f4exb
5192d7fe59
BFM demod: use settings in the GUI only
2017-10-01 19:20:56 +02:00
f4exb
edd0adde3b
BFM demod: created a settings class
2017-10-01 17:54:48 +02:00
f4exb
f10d486b28
BFM demod: fixed segfault
2017-10-01 16:02:34 +02:00
f4exb
b646d0c89f
BFM demod: GUI and demod separation
2017-10-01 12:48:31 +02:00
f4exb
a9d1b2ef65
BFM demod: moved RDS parser in the demod
2017-10-01 11:50:16 +02:00
f4exb
0b6eb2129a
Reset PluginInstanceGUI to its original name
2017-09-26 00:22:08 +02:00
f4exb
da8857e0e1
Windows build fixes
2017-09-23 17:19:58 +02:00
f4exb
a9a514993b
Windows build: corrections for the new tool chain
2017-09-18 13:41:08 +02:00
f4exb
2b4f8a0f55
Implemented GUI input message queue and interface
2017-09-16 22:23:31 +02:00
f4exb
1d4cb21bb5
Separate construction/destruction for the source input plugin core and the GUI
2017-09-16 10:45:08 +02:00
f4exb
a6d6a717ae
GUI segregation: renamed PluginGUI interface to PluginInstanceUI
2017-09-03 19:55:00 +02:00
f4exb
70de05f060
DSD demodulator: use channel marker serializer/deserializer
2017-08-26 14:36:38 +02:00
f4exb
7af90583fe
BFM demodulator: use channel marker serializer/deserializer
2017-08-26 14:30:55 +02:00
f4exb
27d504e1ac
AM demod: implement copy audio to UDP and basic channel settings dialog
2017-08-26 05:32:01 +02:00
f4exb
3b03da44b9
BFM demod: serialize/deserialize all channel marker parameters
2017-08-26 03:56:03 +02:00
f4exb
d84b69633c
DSD and BFM demods: fixed UDP copy button tooltip when port changes
2017-08-25 18:58:53 +02:00
f4exb
8a60af3e52
BFM demod: added basic channel settings dialog and copy audio to UDP option
2017-08-25 18:56:43 +02:00
f4exb
511686f820
Use new audio fifo based on audio sample type
2017-08-25 00:02:49 +02:00
f4exb
d98d8757b0
Moved audio sample definitions to dsp types definitions
2017-08-24 15:24:28 +02:00
f4exb
3a3d8e3dcb
activated compiler warnings
2017-05-25 20:13:34 +02:00
f4exb
1899ca788c
BFM demod: use ValueDialZ for channel delta frequency value dial
2017-05-17 23:52:10 +02:00
f4exb
579c05cfe5
Use doubles for all power calculations
2017-05-16 23:39:49 +02:00
f4exb
dafad384c8
Merged Sigysmund changes for Mac OS Sierra on v3.4.5
2017-05-16 23:01:44 +02:00
f4exb
bb849623bd
updated value dials with Windows compatible font and pointing hand
2017-05-16 22:35:44 +02:00
f4exb
007ea19e36
Bumped version to 3.5.0
2017-05-16 18:38:39 +02:00
f4exb
6f9ef0eaf9
New value dial color schemes: propagate to all active plugins
2017-05-16 18:27:36 +02:00
f4exb
416817d0b8
Mods and demods: prevent returning null or infinite values for squared magnitude
2017-05-16 17:46:44 +02:00
f4exb
c9368a4dc0
Unixify some files
2017-05-16 16:16:05 +02:00
ZigaS
27aab58d92
MacOS(sierra) development environment.
...
Updated qmake project configs.
Deploy & Run script.
For now only hardware supported is HackRF.
2017-05-15 12:32:16 +02:00
f4exb
ffb6ad3009
Use double storage type for all moving average instances
2017-05-12 00:03:56 +02:00
f4exb
cf267b1254
Code warnings in Eclipse cleanup
2017-05-05 10:40:45 +02:00
f4exb
376df032f5
BFM Demod: since channel marker and window title have fixed colors set both once in the constructor
2017-03-18 17:55:28 +01:00
f4exb
0ad22f3cd4
BFM demod: fixed requiredBW method
2017-01-08 20:11:01 +01:00
f4exb
25e171bf90
Signal meter: adjust font
2016-12-07 02:53:10 +01:00
f4exb
dc13a62820
BFM demod GUI: adjust minimum size
2016-12-07 02:29:32 +01:00
f4exb
83b16dd615
BFM Demod: minimum GUI size
2016-12-06 22:14:00 +01:00
f4exb
30de817ba6
BFM and DSD Demods: added signal strength gauge. Limit height on all signal gauges
2016-12-06 19:06:38 +01:00
f4exb
ee947f54e9
Corrected clang warnings
2016-11-21 18:01:55 +01:00
f4exb
caa7905be3
Windows build: set SSE options for all demodulator plugins
2016-11-07 18:57:52 +01:00
f4exb
5a5ff31f48
Channel plugins: Removed useless link dependency on QT OpenGL and Multimedia
2016-10-27 08:46:06 +02:00
f4exb
9299eac9dd
Tx ph.1: plugins (2)
2016-10-13 23:42:08 +02:00
f4exb
94e479bb75
Tx ph.1: plugins (1)
2016-10-13 22:23:43 +02:00
f4exb
32595f81b9
RxTx semantic move: renamed DeviceAPI to DeviceSourceAPI
2016-10-11 01:17:55 +02:00
f4exb
6707bab1a5
Give the decimation method of the Interpolator class its proper name
2016-10-10 01:53:32 +02:00
f4exb
dce0ace4ef
RxTx semantic move: renamed ThreadedSampleSink to ThreadedBasebandSampleSink
2016-10-03 15:55:16 +02:00
f4exb
78513854ac
RxTx semantic move: renamed SampleSink to BasebandSampleSink
2016-10-02 22:29:04 +02:00
f4exb
20c6fb19cc
RxTx semantic move: renamed Channelizer to DownChannelizer
2016-10-02 21:52:39 +02:00
f4exb
1f7df6548a
RxTx semantic move: renamed channel plugins directory to channelrx
2016-10-02 13:18:07 +02:00