summaryrefslogtreecommitdiff
path: root/gr-audio/lib
Commit message (Collapse)AuthorAgeFilesLines
* audio: osx: Replace boost::scoped_array with std::unique_ptr.Ryan Volz2021-12-101-2/+3
| | | | | | | This removes a use of boost and fixes the failing build (due to missing the boost::scoped_array header, how did this work before?). Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* runtime: Custom Buffer/Accelerator Device Support - Milestone 2David Sorber2021-10-252-2/+2
| | | | | | | | | | | | | | | | | Completion of custom buffer/accelerator device support changes: * Improved custom buffer interface by removing awkward memory allocation functions from the block class * Increased flexibility for creating custom buffers by allowing creation of buffer_single_mapped subclasses * Fully incorporated data movement abstraction into the custom buffer interface and the runtime itself; accelerated blocks are no longer directly responsible for their own data movement * Zero copy back-to-back accelerated blocks are now supported (data no longer needs to be moved back to the host between each block) Signed-off-by: David Sorber <david.sorber@blacklynx.tech> Signed-off-by: Mike Mason <mike.mason@blacklynx.tech>
* runtime: Custom Buffer/Accelerator Device Support - Milestone 1David Sorber2021-10-254-2/+6
| | | | | | | | | | | | | | | Custom Buffer/Accelerator Device Support - Milestone 1 changes: * Refactored existing single mapped buffer code and created single mapped buffer abstraction; wrapping within single mapped buffers is handled explicitly by input blocked and output blocked callbacks that are called from block_executor * Added simple custom buffer allocation interface (NOTE: this interface will change for milestone 2) * Accelerated blocks are still responsible for data transfer but the custom buffer interface eliminates the double copy problem Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* global: Replace stdio logging with loggerDavid Winter2021-10-212-110/+130
| | | | | | | This commit replaces many uses of std::c{out,err} and printf with the appropriate GR_LOG_* directives. Signed-off-by: David Winter <david.winter@analog.com>
* modules: include boost/format where usedMarcus Müller2021-09-0715-0/+16
| | | | | | | | | | | | | | | | | | | in the classic modules: audio blocks digital dtv fec fft filter qtgui trellis/fsm uhd video-sdl vocoder/freedv_rx Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* audio/jack: to_string is no longer part of boost:: NS, instead use std::Marcus Müller2021-08-232-2/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* classic modules: use common precompiled headersMarcus Müller2021-07-191-0/+4
| | | | | | | This commit contains all the additions to gr-*/lib/CMakeLists.txt applicable to modules already present in 3.8. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: remove iostream from all files not use cout|cerr|cin|clogMarcus Müller2021-06-1713-13/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* gr-audio: Check CreateEvent() for failureZackery Spytz2021-03-251-0/+4
| | | | | | | CreateEvent() should be checked for failure. An access violation could occur if it is not. Signed-off-by: Zackery Spytz <zspytz@gmail.com>
* audio: reduce Windows audio priority to LOW, this prefers Portaudio on winMarcus Müller2021-03-151-1/+1
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* removed ssize_t, which is not standard C, and we're a C++ projectMarcus Müller2021-02-232-2/+2
| | | | | | Co-authored-by: Josh Morman <jmorman@perspectalabs.com> Signed-off-by: Josh Morman <jmorman@perspectalabs.com> Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* portaudio: fix unintentionally synchronous std::asyncMarcus Müller2021-02-091-1/+1
| | | | | | | | | | Note this classic (which I didn't do in ALSA back in the day, 'doh): If you don't assign your future coming from std::async to something, its destructor is instantly called, leading to the call effectively being blocking. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* clang-tidy: run full .clang-tidy on C++17 codebaseMarcus Müller2021-01-1911-13/+13
| | | | | | | | | | | | | | | | | | | | run /usr/share/clang/run-clang-tidy.py -checks=file '-header-filter=.*' -fix .. from build directory. Then, clang-format -i $(git diff --name-only origin/master) to clang-format changed files. Then, refresh all header hashes in pybind bindings (*/python/bindings/*.cc) Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* gr-audio: revise alsa default nperiodsduggabe2020-12-172-2/+2
|
* gr-audio: revise nperiods in gr-audio-alsa.confduggabe2020-12-171-1/+1
|
* gr-audio: revise nperiods in gr-audio-alsa.confduggabe2020-12-171-1/+1
|
* build: Remove clang unused variable warnings.Ron Economos2020-12-071-3/+2
|
* modernization: `override` instead of virtual in all compilation unitsMarcus Müller2020-11-038-22/+22
|
* audio: lib: windows: Add <cctype> header for std::isdigit.Ryan Volz2020-10-292-0/+2
| | | | | | Previously the header must have been pulled in by one of the Boost includes, because with a newer Boost version I had build errors. This makes the include explicit so std::isdigit is guaranteed to be declared.
* audio: fix Windows loggingjapm482020-10-202-29/+40
| | | | | This removes a few compilation errors in Windows related to logging functions (see PR #3339).
* gr-audio: osx: Fix compilation.Ryan Volz2020-10-021-5/+5
|
* audio/alsa: Remove manual memory managementThomas Habets2020-09-225-142/+171
|
* audio: replace stderr logging by calls to GR's logging faciltiesMarcus Müller2020-04-1315-317/+405
| | | | | | | | | | | | This is a bit special, in that audio systems tend to have their own ways of going wrong, and there's platform-specific development debugging infrastructure in there, which I intentionally did not touch. I did touch a few commented lines of code in the intention of, if you enable that line of logging, it should be consistent with the rest. There's copious amounts of untouched stderr-logging in `#if 0`-disabled code in OSX's infrastructure.
* replace boost endian check with cmakejapm482020-04-061-2/+1
|
* Switch from boost pointers to std C++11 pointersThomas Habets2020-04-013-5/+5
| | | | | | | | | | | | | | | | | | | Most of this code is automated code changes: ``` set -e SUB="s/dummy/dummy/" for i in shared_ptr make_shared dynamic_pointer_cast weak_ptr enable_shared_from_this get_deleter; do SUB="$SUB;s/boost::$i/std::$i/g" done SUB="$SUB;s^#include <boost/shared_ptr.hpp>^#include <memory>^g" SUB="$SUB;s^namespace boost^namespace std^g" find . \( -name "*.cc" -o -name "*.h" -o -name "*.i" -o -name "*.cxx" -o -name "*.py" \) -print0 | xargs -0 sed -i "$SUB" ``` Only one manual change. In `./gr-fec/lib/fec_mtrx_impl.cc`, add `#include <algorithm>`.
* Replace BOOST_FOREACH with C++11 range forThomas Habets2020-03-271-3/+2
|
* Change assert to static_assert, where possibleThomas Habets2020-03-201-1/+2
| | | | | These are all ones I could find, so assert->static_assert should now be done.
* Update license header to SPDX formatdevnulling2020-01-2737-481/+37
|
* alsa_sink: fix always true checkValerii Zapodovnikov2020-01-181-1/+1
| | | It is int snd_pcm_nonblock(snd_pcm_t *pcm, int nonblock)
* Replace many `const` variables with `constexpr`Thomas Habets2020-01-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constexpr is like const but (for variables) guarantees evaluation at compile time (as opposed to runtime). Likely this change will do nothing on its own (though it could, since it gives the compiler more information). But it still has benefits. It allows programmer to know that initialization is not expensive (it was done at compile time), and reduces risk of a refactoring regressing the compiletimeness. Runtime initialization can be nonobvious in larger codebases. E.g.: struct S { static int foo(); }; const int bar = S::foo(); // Called and initialized at *runtime*. int S::foo() { return 10; } With constexpr: struct S { static constexpr int foo(); }; constexpr int bar = S::foo(); // Error: used before definition. constexpr int S::foo() { return 10; } Initializing at runtime is not just startup costs, but also can save memory since it'll end up in a R/O section of a binary and therefore doesn't need to be swapped out, but can be shared (in the mmap() sense of the word).
* gr-audio/portaudio_source: Fix lock acquisitionThomas Habets2020-01-021-1/+1
|
* Remove newlines from exception messagesThomas Habets2020-01-011-4/+4
|
* delete unused variablesBastian Bloessl2019-09-054-4/+0
|
* clang-format: Ordering all the includesMarcus Müller2019-08-0923-45/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang-format: ordering includes in gnuradio-runtime clang-format: ordering includes in gr-filter clang-format: ordering includes in gr-fft clang-format: ordering includes in gr-audio clang-format: ordering includes in gr-analog clang-format: ordering includes in gr-fec clang-format: ordering includes in gr-wavelet clang-format: ordering includes in gr-zeromq clang-format: ordering includes in gr-vocoder clang-format: ordering includes in gr-video-sdl clang-format: ordering includes in gr-trellis clang-format: ordering includes in gr-blocks clang-format: ordering includes in gr-digital clang-format: ordering includes in gr-uhd clang-format: ordering includes in gr-dtv clang-format: ordering includes in gr-channels clang-format: ordering includes in gr-qtgui clang_format.py: re-enable include reordering
* Tree: clang-format without the include sortingMarcus Müller2019-08-0933-5635/+5327
|
* audio: rename static internal var from d_ to s_Marcus Müller2019-06-151-16/+17
|
* audio: fix build on OSXMichael Dickens2019-04-213-3/+3
|
* cmake: Update to modern CMake usageAndrej Rode2019-03-041-117/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes using target based setting of includes and link libraries. This will transitively add the includes and linking flags to dependent targets. This is still a work in progress since only the dynamic libraries have been touched and not all of include_directories directives are gone yet. cmake: remove GR_INCLUDE_SUBDIRECTORY macro Previously this macro was used to inject subdirectories in the current CMake namespace. This is generally undesired and pollutes the current context. previously GNU Radio CMake had a non-default option ENABLE_STATIC_LIBS to build both, shared libraries and static libraries. This seems to be a construction taken over from autotools and serves no purpuose in CMake and complicates the library building. cmake: remove GR_LIBTOOL and la generation support This looks like it was primarily used to support projects using autotools, but comments state that the generated .la files aren't compatible with autotools anyway. cmake: Bump required CMake version to 3.8 UseSWIG cmake uses syntax which requires at least CMake 3.8 and is non-trivial to change
* gr-audio: fix windows when receiving > 1 output_multiple per work() callgnieboer2019-02-141-75/+81
|
* cleanup: fix local includes in gr-audioAndrej Rode2019-02-0113-48/+46
| | | | | | | Previously all directories were in the include path which breaks for local includes in pointy brackets. This commit uses quotes for local includes in gr-audio now.
* C++11: Convert boost::lexical_cast to std::to_stringMarcus Müller2018-12-192-3/+0
| | | | | This is a minor change towards slowly replacing Boost with newer std:: functionality.
* Merge remote-tracking branch 'origin/next' into merge_nextMarcus Müller2018-08-3113-15/+15
|\
| * cleanup: remove dynamic exception specificationsAndrej Rode2018-02-0612-12/+12
| |
| * Merge branch 'master' into nextMartin Braun2018-02-035-7/+7
| |\
| * \ Merge branch 'master' into nextJohnathan Corgan2017-05-092-4/+9
| |\ \
| * \ \ Merge branch 'master' into nextJohnathan Corgan2017-04-171-1/+1
| |\ \ \
| * \ \ \ Merge branch 'master' into nextJohnathan Corgan2017-03-221-3/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gr-wxgui/lib/CMakeLists.txt
| * \ \ \ \ Merge branch 'master' into nextJohnathan Corgan2016-11-222-14/+14
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into nextJohnathan Corgan2016-10-134-173/+355
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' into nextJohnathan Corgan2016-08-162-0/+8
| |\ \ \ \ \ \ \