Commit Graph

119 Commits

Author SHA1 Message Date
f4exb e206d65283
Merge pull request #162 from jigpu/spelling-fixes
Spelling fixes
2018-04-22 07:45:20 +02:00
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