- 26 May, 2021 17 commits
-
-
Flatten the hierarchy a bit to make it easier to handle.
-
This matches the behavior of most applications - check environment variables first, then fall back to the various built-in options (in our case xdg, /etc/ /usr/share, in that order).
-
All cases of value stored but never read
-
All cases of value stored but never read
-
All cases of value stored but never read
-
All cases of value stored but never read
-
All cases of value stored but never read
-
All cases of value stored but never read
-
All cases of value stored but never read
-
All cases of value stored but never read
-
All cases of value stored but never read
-
No point in keeping a server running if it doesn't listen to anything.
-
-
This requires a helper script: doxygen doesn't differ between static methods and static inline methods. EXTRACT_STATIC defines whether it parses *any* static method but we're currently using all C files as input files as well. We cannot convince doxygen to just parse static inline functions in header files so for SPA we hack around this: meson passes the spa headers to a shell script with simply copies those changed to `/* static */ inline void (foo)` and doxygen then runs on those header files. The result: we get all spa functions added to your doxygen output at the cost of a few sed calls.
-
Subdirectories buffer, control, debug, monitor, pod, support and utils, others are still missing. Headers are grouped either per subdirectory (e.g. buffer/ gets added to group spa_buffer) or per-file (e.g. spa_json is a separate group), whatever seemed like the most sensible approach.
-
-
-
- 25 May, 2021 2 commits
-
-
Georges Basile Stavracas Neto authored
Motu M4 has four inputs (two line-in inputs, and two complete ones with gain and XLR and whatnot), as well as four outputs (two monitor pairs, and an unnaccounted headphone). Sadly, like a few other interfaces, it wasn't being given an input profile, since the matching code goes through default.conf testing each config, and ends up selecting 'analog-surround-40', which does not have input mapping. The inputs would fallback to 'multichannel- input', which also doesn't have input paths. Add input paths to all analog-surround-* mappings, and remove their 'direction=output' fields since they handle both out and in.
-
Barnabás Pőcze authored
Previously, when `pw_protocol_pulse_new()` returned NULL, the code would jump to the `error` label, which would call `impl_free()`. At this point, however, `impl->module_listener` is not initialized, which would lead to a SIGSEGV when `spa_hook_remove()` is called from `impl_free()`.
-
- 24 May, 2021 7 commits
-
-
Wim Taymans authored
-
-
Linking with -latomic has been added to pipewire-jack since b8c58c74 However, this is not the right place to add this dependency, atomic_dep should be added to pipewire_dep to avoid the following build failure: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/9.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: src/pipewire/libpipewire-0.3.so.0.326.0.p/filter.c.o: in function `impl_node_process': filter.c:(.text+0xf28): undefined reference to `__atomic_fetch_add_4' Indeed, atomic operation such as __atomic_fetch_add is used in libcamera as well as in ./spa/plugins/libcamera/libcamera_wrapper.cpp, ./spa/include/spa/utils/ringbuffer.h and ./spa/include/spa/graph/graph.h Fixes: - http://autobuild.buildroot.org/results/b5305e8e7dd1a5e8bfaba72b06251056ba7d1af1 Signed-off-by:
Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
Split up LADSPA_PATH at colons, and try to load the particular plugin from each directory specified in LADSPA_PATH. Fixes #1217.
-
Add successfully loaded handles to the list in `ladspa_handle_load()`, and remove them when they are freed in `ladspa_handle_unref()`.
-
Fix a reference counting issue that resulted in ladspa_handle's refcount being equal to the sum of the refcounts of its descriptors. This would result in a memory leak when a descriptor is loaded more than once from the same handle. This cannot happen because `ladspa_handle_list` is not populated by `ladspa_handle_load()`. The next commit implements exactly that, so the fix is applied before the change that would introduce the problem.
-
Other filter-chain configuration file examples do not prefix the plugin key with 'ladspa/'. And in the absence of the LADSPA_PATH environmental variable, this would lead to "/usr/lib64/ladspa/ladspa/librnnoise_ladspa.so" being used as the path, which is not correct.
-
- 22 May, 2021 1 commit
-
-
Sjoerd Simons authored
You can only run either pulseaudio *or* the pipewire-pulse daemon at one time. So make the pipewire-pulse units conflict with their pulseaudio counterparts to avoid both running at the same time
-
- 21 May, 2021 13 commits
-
-
Valentin David authored
-
-
This flag is used to announce that the respective key is mandatory and therefore the object containing this key is not suitable to be merged with other objects missing it.
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
Use defines for the param index. Fix params for filter. Make it possible to use Props params.
-
Wim Taymans authored
-
Peter Hutterer authored
Theme from doxygen-awesome-css with custom modifications based on the pipewire.org website to use the same type of blue, grey, etc. doxygen-awesome-css is MIT licensed, see https://github.com/jothepro/doxygen-awesome-css
-
Peter Hutterer authored
C code doesn't lend itself well to using classes and pages are best for prose. A doxygen group is a set of related functions - which is exactly what we have here, e.g. pw_context. This patch basically adds the following lines to each header: \defgroup pw_whatever \addtogroup pw_whatever \{ .... function declarations .... \} Doxygen is smart enough to merge documentation in the header with documentation in the correspondin .c file where the function is implemented.
-
Peter Hutterer authored
-
Peter Hutterer authored
-
Peter Hutterer authored
-
Peter Hutterer authored
Where both declaration and definition are documented, drop one and rely on the other. Drop the obvious documentations where not needed, doxygen wants either none or all parameters documented.
-