1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-30 05:54:26 -04:00
Commit Graph

56 Commits

Author SHA1 Message Date
Robin Getz e86e95feab DATV: Convert leansdr fail and fatal errors into C++ exceptions
The original leansdr code uses fatal() and fail() for unrecoverable errors by
terminating execution. When integrated into SDRangel, these error paths did
not provide a mechanism for the plugin to handle failures locally, allowing
initialization failures to escape the normal plugin lifecycle.

Convert leansdr fatal() and fail() handling into C++ exceptions so DATV can
detect framework initialization failures, report them, and cleanly return
control to SDRangel instead of allowing the error to terminate the application.
This behavior is desirable because a DATV framework configuration failure
should not bring down the entire application.

Catch initialization exceptions in DATVDemodSink::feed(), report the failure,
clean up the partially initialized framework, and return to the caller.

Add noreturn annotations to the leansdr error functions and include the
leansdr source in exception messages to make failures easier to diagnose.

This does not redesign leansdr error handling or provide recovery from
runtime DSP failures. It only adds an exception boundary between the
leansdr library code and the SDRangel plugin lifecycle.

noticed via cppcheck indicating many Array indexes could go out of bounds
due to fail and fatal returning.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-25 18:50:40 -04:00
f4exb 103e86c80b Apply atomic settings to channel Rx plugins part 1. Part of #1329 2026-02-01 12:26:46 +01:00
f4exb 002f5e8af3 Demod DATV: improve UDP TS output detection 2025-05-03 17:16:19 +02:00
f4exb ce007419e8 DATV demod server plugin 2025-05-03 04:29:19 +02:00
f4exb fc82606e6e DATV demod: completely remove LDPC external command references 2025-05-03 02:38:48 +02:00
f4exb ab54ac7a63 DATV demod: prepare for server version 2025-05-03 01:43:35 +02:00
f4exb 379c802d39 Move datvideorender.h outside datvdemodsink.h 2025-05-02 23:57:25 +02:00
DreamNik f694ba04b8 Fix compilation warnings and errors 2024-09-05 13:37:46 +03:00
Daniele Forsi 8c3f7e3775 Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
f4exb 3a944fa209 Rewriting of copyright notices for plugins/channelrx. Part of #1893 2023-11-18 12:02:48 +01:00
f4exb 7852ab79a6 DATV demod: change interpolator and NCO in the same block 2023-04-10 11:49:30 +02:00
f4exb b4a1680d54 DATV demod: fixed rf bandwidth and symbol rate apply settings 2023-04-01 03:25:01 +02:00
f4exb afd8d492c5 DATV demod: implement interpolator (decimator) so that DVB engine input rate is always twice the symbol rate 2023-03-31 00:30:06 +02:00
f4exb 03e29e9a1d DATV demod: small optimizations (2) 2023-03-30 11:23:37 +02:00
f4exb d70f431ec2 DATV demod: small optimizations 2023-03-30 11:23:37 +02:00
Jiří Pinkava 0df2d75e6d Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
Jon Beniston 23c65fc8f3 MacOS build fixes 2022-08-04 15:13:25 +01:00
Jon Beniston ff26ece347 DATV Demod: Add support for LDPC on Windows. Use Qt worker thread instead of external ldpc_tool process. 2022-07-18 16:40:00 +01:00
f4exb b0c49f3b50 DATV demod: API updates and small fixes 2021-11-03 21:56:33 +01:00
f4exb 4b1a861717 DATV demod: de-couple MER and CNR GUIs from core 2021-11-03 21:56:33 +01:00
f4exb f8a512e91b DATV demod: allow video player enable/disable 2021-04-11 23:52:16 +02:00
f4exb 4f9fe7b533 DATV demod: stop player before initializing DATV framework 2021-04-09 13:43:02 +02:00
f4exb d22cd45b14 DATV demod: player refactoring: preliminary cleanup (3) 2021-04-05 02:42:36 +02:00
f4exb 6b5e11ffe5 DATV demod: DATVDemodSink: init DATV framework outside process sample loop 2021-04-03 06:41:12 +02:00
f4exb 09b9c6aaef DATV demod: moved MODCOD detection in front of samples processing 2021-04-03 06:41:12 +02:00
f4exb 428128118a DATV demod: Do video stream cleamup when re-initializing DATV framework. Reduce videoThreadTimeoutMs to 500 ms 2021-04-01 06:14:56 +02:00
f4exb c4e9ada144 DATV demod: GUI: more accurate display of video thread active and MCOD detection. Correction of RRC=0.2 bug. Small optimizations in dvbs2.h match_frame 2021-03-31 05:03:10 +02:00
f4exb 207115bc4c DATV demod: leandvb: replace custom complex by std::complex 2021-03-29 06:00:41 +02:00
f4exb 011d5fbf60 DATV demod: rationalize usage of DATVideostream 2021-03-29 06:00:41 +02:00
f4exb 29506a1d65 DATV: fixes to improve stability (1) 2021-03-29 06:00:40 +02:00
f4exb 7e375079fe DATV: shut down video player before destruction 2021-03-27 09:38:54 +01:00
f4exb 4ce2ae5ae5 DATV: fixed DATVideoRender crash at close time when active: DATVDemodBaseband delete later 2021-03-23 08:35:30 +01:00
f4exb 6810990c99 DATV: DATVDemodSink: rationalize playVideo method 2021-03-22 19:47:47 +01:00
f4exb 841e980c7c DATV: DVBS-2: increased number of ldpc_tool processes to 6 2021-03-20 10:56:04 +01:00
f4exb 227245eb94 DATV: CNR optimization 2021-03-14 10:54:37 +01:00
f4exb 4ff5d7d76d DATV: reset data count when framework is restarted 2021-03-14 07:57:55 +01:00
f4exb d73f093dab DATV: various fixes and enhancements to ldpc_tool handling. Implements #804 2021-03-13 00:13:00 +01:00
f4exb 233f512f9c DATV: enhancement and fixes to DVBS2 external LDPC tool process. Implements #804 2021-03-10 07:47:26 +01:00
f4exb 156d7b543a DATV: fixed communication with GUI 2021-03-08 08:35:30 +01:00
f4exb 6fb451145b DATV demod: use ldpctool in Linux only 2021-03-07 07:41:19 +01:00
f4exb 7334b2fd20 DATV: external LDPC tool implementation final: dialog to select ldpctool and maximum retries 2021-03-07 00:36:48 +01:00
f4exb 3e02af8d93 DATV: external LDPC tool implementation (6): cleanup of soft LDPC but keep external 2021-03-07 00:36:48 +01:00
f4exb 41e660c221 DATV: external LDPC tool implementation (2) 2021-03-07 00:36:48 +01:00
f4exb 078e7fab37 DATV: external LDPC tool implementation (1) 2021-03-07 00:36:48 +01:00
f4exb dc8f3ee9d9 DATV: soft LDPC (1) 2021-03-07 00:36:48 +01:00
f4exb 75b08c0dee DATV: added LDPC max bit flip control and future soft LDPC control. Updated documentation 2021-02-28 12:05:25 +01:00
f4exb bf62693093 DATV demod: implemented gauge meters for MER and CNR. Implements #784 2021-02-23 01:06:25 +01:00
f4exb 076eeb7704 DATV demod: implemented CNR display 2021-02-22 22:37:11 +01:00
f4exb 0dc554b30b DATV: Display MER 2021-02-22 19:29:16 +01:00
f4exb 7a6636b63a Fixed -Wunused-variable warnings 2020-11-14 18:45:05 +01:00