freedv-gui/cmake
Mooneer Salem 439e54035f
Request real-time priority from the operating system for audio pipeline (#866)
* Bound requested frames between both min and max.

* Request real-time scheduling for pipeline threads (currently macOS-only).

* Ensure pipeline threads never execute at the same time as audio threads.

* macOS: ask for 5ms audio blocks.

* Temporarily re-enable stress test.

* Suppress codespell for .mm files.

* Swap times/buffer sizes.

* Fix compiler error.

* Go back to previous frame size and time.

* Re-disable stress test.

* Try adjusting time quantum.

* Move audio priority handling to audio layer.

* Set helper thread to real-time on Windows.

* Temporarily disable audio workgroup code.

* Disable periodicity in macOS RT request

* Forgot to define variable.

* Only allow a max of 50% CPU time for audio helpers.

* More tuning of the duty cycle.

* Make sure we sleep some amount of time every time through the loop.

* Go back to smaller time quantum.

* Another quantum tweak.

* Increase audio sample block size to 20ms.

* Use 2.5ms for audio block time.

* Try increasing FIFO sizes for RX.

* Oops, forgot to comment out the / 1000 too.

* Get faster turnaround for macOS GH builds.

* Revert FIFO changes.

* Add additional debugging.

* Fix compiler error.

* Fix typo.

* Use semaphores to notify TX/RX worker threads.

* Try dividing duty cycle by 2 to avoid starvation.

* Reenable audio workgroups.

* No point in having parallel threads if only one mode is active.

* Ensure that ParallelStep gets added to the audio workgroup too.

* Anything for GUI consumption shouldn't be in the RT path.

* Go back to 10ms audio blocks to see if reporting tests can more reliably pass.

* Fix issue causing audio to not work on certain Macs.

* Support real-time threading on Linux when using PulseAudio/pipewire.

* Fix misspelling.

* dbus needs to be installed in the environment.

* macOS: try a smaller block size again.

* Revert "macOS: try a smaller block size again."

This reverts commit 1d21ad6934.

* Try architecture-specific audio block times.

* rtkit itself also needs to be installed in the environment.

* Revert ordering changes to macOS CI builds.

* GH user needs to be added to rtkit group.

* Implement semaphores on Windows.

* Don't exit the render/capture threads unless requested by higher level code.

* Don't take address of a pointer.

* macOS: set thread QoS for RT threads.

* Move RADE RX/TX memory allocations out of real-time path.

* Moving additional memory allocations outside of RT context.

* Move all remaining allocations in pipeline outside of RT except for legacy FreeDV modes.

* Longer audio block times don't seem to be making a difference.

* Move legacy mode memory allocations out of RT context.

* Prevent unbounded mutex locks inside pipeline.

* Windows: fallback to a simple sleep if we can't lock the semaphore.

* Increase maximum wait time to match what Windows returns for buffer size.

* PulseAudio: fallback to simple sleep if we can't wait on semaphore.

* Prevent unbounded locking in TapStep.
2025-04-23 00:18:24 -07:00
..
BuildCodec2.cmake Add support for sending callsigns using RADE (#783) 2024-12-27 15:08:24 -08:00
BuildHamlib.cmake Save Hamlib rig names on startup as they're able to change out from under us. (#834) 2025-02-19 18:08:54 -08:00
BuildLPCNet.cmake Remove origin from git tags. 2023-05-06 00:25:33 -07:00
BuildRADE.cmake Fix build issues on macOS (#845) 2025-03-12 09:10:14 -07:00
BuildSamplerate.cmake Improve EOO TX/RX reliability (#855) 2025-04-11 19:33:33 -07:00
BuildSndfile.cmake Suppress DOWNLOAD_EXTRACT_TIMESTAMP warning. 2022-12-03 23:54:28 -08:00
BuildSpeex.cmake Move SpeexDSP scripts to cmake scripts folder. 2024-01-14 12:37:18 -08:00
BuildWxWidgets.cmake Improve EOO TX/RX reliability (#855) 2025-04-11 19:33:33 -07:00
Buildportaudio-2.0.cmake Enable capture of RX features from RADE decoder (#776) 2024-12-03 23:51:44 -08:00
CTestCustom.cmake Ignore libsamplerate UT. 2024-01-14 22:08:26 -08:00
FindDBus.cmake Request real-time priority from the operating system for audio pipeline (#866) 2025-04-23 00:18:24 -07:00
Findportaudio-2.0.cmake Add additional paths to macdylibbundler. 2022-12-19 11:58:34 -08:00
GetDependencies.cmake.in Improve EOO TX/RX reliability (#855) 2025-04-11 19:33:33 -07:00
MinGW.cmake Additional cleanup and support for LLVM MinGW. 2022-11-26 08:30:45 -08:00
NSIS.template.in Forgot to add the modified NSIS template. 2023-07-27 00:46:05 -07:00
Toolchain-Ubuntu-mingw32.cmake
config.h.in
configure_speexdsp_osx.sh Move SpeexDSP scripts to cmake scripts folder. 2024-01-14 12:37:18 -08:00
configure_speexdsp_osx_universal.sh Move SpeexDSP scripts to cmake scripts folder. 2024-01-14 12:37:18 -08:00
hamlib-windows.patch Upgrade Hamlib to 4.6 for Windows/macOS builds. (#795) 2025-01-06 00:22:17 -08:00
rade-requirements.txt Integrate RADE into FreeDV application (#748) 2024-10-20 18:09:11 -07:00
rade-setup.bat Test precompiling Python files to improve startup time. 2024-10-28 00:37:19 -07:00
soxconfig.h.in Fix building of internal sox on MinGW. Add logic to pickup depdendency on libwinpthread on MinGW. 2017-01-29 14:46:12 +00:00
version.h.in Don't adjust Msg column width when user disconnects. (#828) 2025-02-11 15:36:31 -08:00