Commit graph

331 commits

Author SHA1 Message Date
Wim Taymans e29969f937 Use build_root to generate Makefile
Don't hardcode the buildroot but use the value from meson.

Based on patch by Jan Koester <jan.koester@gmx.net>

Fixes #202
2020-01-08 15:41:01 +01:00
Gleb Popov fd937fa378 On FreeBSD, add dependency on epoll-shim library.
FreeBSD doesn't provide timerfd and eventfd functions. These are implemented in
3rd party library called epoll-shim. Link targets requiring these functions to
this library.
2019-11-19 13:41:40 +01:00
Philipp Zabel 8c53e5305d meson: remove spa option
PipeWire does not work without at least the basic SPA plugins.
Remove the option to disable SPA.

Fixes #198

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
2019-11-12 08:14:13 +00:00
Wim Taymans e04d58ee3a Improve some debug 2019-10-02 18:02:07 +02:00
George Kiagiadakis 5183e1d4b4 bluez-monitor: fix usage of pw_properties_setf without a format string
Otherwise compilation will fail with certain -Wformat-security flags
Add the flag to the warnings.
2019-09-26 17:26:23 +02:00
Wim Taymans 5b9869200f jack: add jack source and sink
Makes a device with a source and sink that automatically
proxies all physical ports from jack. Jack then drives our
PipeWire pipeline from its own thread.
2019-08-20 20:35:41 +02:00
Matt Porter b71f2dd716 meson.build: fix meson version warning
Features are used from 0.44 but min version is specified as 0.42.
Bump min version to 0.44.

Signed-off-by: Matt Porter <mporter@konsulko.com>
2019-08-09 23:20:55 +02:00
Thomas Zimmermann 10ec285911 meson.build: Test for ptrdiff_t in <stddef.h>
The build scripts assumed ptrdiff_t to just be around by default. But POSIX
specifies ptrdiff_t to be defined in <stddef.h>, which is now included from
the test.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
2019-05-23 10:15:35 +02:00
Wim Taymans e7ef13e310 audioconvert: add avx optimizations 2019-03-28 16:45:57 +01:00
Wim Taymans c8d3d475bb audioconvert: handle more optimizations
Compile an optimized library for the given CPU with the right flags,
then link it with the main library.
2019-03-27 17:58:48 +01:00
Wim Taymans 5a2ccee1ff Add FASTPATH trace log
Add a trace_fp that can be optimized away when FASTPATH is defined.
2019-03-21 11:31:53 +01:00
George Kiagiadakis 58a878623b meson: find dependencies only when necessary
This allows finding dependencies conditionally, only
when the enabled features actually need them.

Also, make sure to require those dependencies when the enabled
features do need them, instead of using "required: false" and
failing later
2019-02-13 11:22:22 +01:00
Wim Taymans 569cbb48a9 use SPA_EXPORT to export symbols 2019-02-06 13:24:41 +01:00
Wim Taymans f8556f1a08 make c++ optional 2019-01-08 12:18:45 +01:00
Wim Taymans 3e77e9bf99 test: add c++ test 2019-01-08 11:59:05 +01:00
Wim Taymans b0f4be5fbc fix more compile errors
Avoid void * arithmetic
Do explicit casts to target type to make c++ happy
2019-01-08 11:53:36 +01:00
Wim Taymans 44cb131269 meson: enable more warnings 2019-01-07 18:02:36 +01:00
Tanu Kaskinen f80620f1f8 meson: increment apiversion
There are ABI breaking changes in libpipewire.
2018-12-18 13:54:03 +00:00
Wim Taymans 85f2e93c54 Relicense as MIT/X11
Remove some obsolete files
2018-11-05 17:48:52 +01:00
Thibault Saunier c2cb8e46b9 Fix build when systemd is found but not libsystemd
Getting the following otherwise:

```
[13/28] Compiling C object 'src/modules/src@modules@@pipewire-module-protocol-native@sha/module-protocol-native.c.o'.
FAILED: src/modules/src@modules@@pipewire-module-protocol-native@sha/module-protocol-native.c.o
ccache cc -Isrc/modules/src@modules@@pipewire-module-protocol-native@sha -Isrc/modules -I../src/modules -I. -I../ -Ispa/include -I../spa/include -Isrc -I../src -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O2 -g -fPIC -pthread -DHAVE_CONFIG_H -D_GNU_SOURCE  -MD -MQ 'src/modules/src@modules@@pipewire-module-protocol-native@sha/module-protocol-native.c.o' -MF 'src/modules/src@modules@@pipewire-module-protocol-native@sha/module-protocol-native.c.o.d' -o 'src/modules/src@modules@@pipewire-module-protocol-native@sha/module-protocol-native.c.o' -c ../src/modules/module-protocol-native.c
../src/modules/module-protocol-native.c:36:10: fatal error: systemd/sd-daemon.h: No such file or directory
 #include <systemd/sd-daemon.h>
          ^~~~~~~~~~~~~~~~~~~~~
```
2018-10-31 07:54:59 +00:00
Wim Taymans 693fd3a366 meson: only add dependencies when requested 2018-10-19 13:21:52 +02:00
Wim Taymans 88d6e52cc7 add systemd socket activation 2018-10-18 12:36:10 +02:00
Arun Raghavan dcfe1ac613 meson: Add an uninstalled target and script
This makes it easier to run PipeWire from the build environment
2018-10-10 17:17:17 +02:00
Tapasweni Pathak 8d71d2dab8 pipewire: add enable/disable to meson for spa plugins 2018-10-10 16:01:28 +02:00
Jan Alexander Steffens (heftig) 03fdabd155 meson: Use pkgconfig.generate
Also fixes the moduledir having a duplicated prefix.
2018-09-03 21:26:42 +02:00
Rasmus Thomsen e56344e55e meson: rename options as per meson's style guide
see https://mesonbuild.com/Style-guide.html
2018-08-17 17:52:19 +02:00
Wim Taymans c06d775ddc man: add man page for config file 2018-08-17 10:19:20 +02:00
Wim Taymans 43b8ea9b83 set version in core 2018-08-14 15:36:08 +02:00
Wim Taymans 60d4473e7b make spa-lib versioned
Fixes #60
2018-08-14 14:41:50 +02:00
Jan Grulich 77f759eb6e Bump apiversion and soversion for PW 0.2.x 2018-08-14 14:40:07 +02:00
Wim Taymans 2d75d96d67 meson: fix pulseaudio check 2018-06-26 12:22:03 +02:00
Wim Taymans 4005cf03e6 meson: add puleaudio library 2018-06-01 11:38:18 +02:00
Wim Taymans 9b0a880afb simplify things with just 1 process function
Make just one process function in spa node. With the io area states
we can do more complicated io patterns.
2018-04-03 16:29:36 +02:00
Wim Taymans 3a9df8096b WIP add subgraph 2018-04-03 16:29:36 +02:00
Wim Taymans 933635f63f WIP: work on per driver graphs
Make a graph per driver node and let nodes that link to this join this
graph
Work on an idea for an even simpler scheduling mechanism.
2018-04-03 16:29:36 +02:00
Wim Taymans 62f113dbba Release 0.1.9 2018-02-27 13:34:22 +01:00
Emmanuele Bassi ea28338736 build: Optional tools should not be mandatory
Since we're using the `found()` method on tools found via the
`find_program()` function, we are expecting them to be optional,
but we are not passing `required:false` to ensure that Meson does
not bail out when the tool is not found.
2018-01-26 08:51:38 +01:00
Emmanuele Bassi d99f5defa3 build: Fix dependency objects for system libraries
The dependency checks for system libraries is not really portable.

Not all C standard libraries have separate rt and math libraries, so the
requirement should be set to false.

Additionally, finding threading libraries should be left to Meson
itself, using the `dependency('threads')` object, which will do the
right thing depending on platform and compiler.
2018-01-26 08:51:38 +01:00
Wim Taymans cf036a15f0 Release 0.1.8 2018-01-23 15:58:36 +01:00
Wim Taymans 77838fd734 mem: fix for memfd_create check 2017-11-27 11:58:33 +01:00
Wim Taymans f902a34290 build: make sure memfd_create is found 2017-11-24 18:58:22 +01:00
Wim Taymans 4516fcecc4 remove stray commit 2017-11-24 18:03:22 +01:00
Wim Taymans 2a86814bb8 Only define memfd_create when not already defined 2017-11-24 17:36:27 +01:00
Wim Taymans bde1012c5c Back to development 2017-11-24 17:03:58 +01:00
Wim Taymans 58f086b165 Release 0.1.7 2017-11-24 17:02:04 +01:00
Wim Taymans 2fd5bcb623 gst: fix gstreamer elements
Handle new ringbuffer area on buffers
Set the id correctly for format enumerations.
2017-11-20 11:04:02 +01:00
Wim Taymans 7a7c011b00 make gstreamer elements optional 2017-11-13 20:08:29 +01:00
Wim Taymans 63fe535352 Back to development 2017-11-03 12:43:50 +01:00
Wim Taymans 5fec60078d Release 0.1.6 2017-11-03 12:40:03 +01:00
Rasmus Thomsen 6a0ee7a298 meson.build: remove automagic docs and manpages 2017-10-19 22:44:37 +02:00
Wim Taymans 8432039ee5 meson: require jack2 to build 2017-09-19 18:19:54 +02:00
Wim Taymans 2e379d5f8f back to development 2017-09-19 12:17:36 +02:00
Wim Taymans 0d44a34b4c Release 0.1.5 2017-09-19 11:25:38 +02:00
Wim Taymans 68f5c05b9f back to development 2017-08-23 13:31:24 +02:00
Wim Taymans b7e334e55d Release 0.1.4
Remove spec file
Fix systemd service file
Send error on link errors
Init socket to -1 so that we don't close anything on error
Wait for all proxy objects in device monitor
2017-08-23 13:22:39 +02:00
Wim Taymans 593df62ccc update spec 2017-08-17 19:42:10 +02:00
Wim Taymans 29eb58f7a2 Add systemd socket activation files
Notify of jack graph changes
2017-08-17 18:59:03 +02:00
Wim Taymans cfd9967637 Back to development 2017-08-09 10:26:51 +02:00
Wim Taymans 35929dd4d8 Release 0.1.3 2017-08-09 10:20:14 +02:00
Wim Taymans d1655196c3 move things around 2017-07-11 16:08:22 +02:00
Wim Taymans b0f5d34cf7 back to development 2017-07-04 15:55:39 +02:00
Wim Taymans a3523047c7 Release 0.1.2 2017-07-04 15:09:46 +02:00
Wim Taymans fade5396c5 Fix build for jack 2017-06-28 09:11:05 +02:00
Wim Taymans 58b97c8708 back to development 2017-06-26 13:26:46 +02:00
Wim Taymans 5b2745498e Release 0.1.1
spec: updates
2017-06-26 13:13:21 +02:00
Wim Taymans 2c6b2f0b74 Add beginnings of jack module
Update spec and makefile a bit
2017-06-26 13:04:47 +02:00
Wim Taymans 423d40f494 back to development 2017-06-20 16:28:30 +02:00
Wim Taymans 3b5a308645 link: improve renegotiation
Only suspend an idle node when we need to configure a different format.
2017-06-20 16:22:25 +02:00
Wim Taymans 4a6b1b42bc Don't hardcode plugin path
Use SPA_PLUGIN_DIR to get the plugin path.
Install plugins in subdirectory to make it match the build tree.
2017-06-19 12:19:22 +02:00
Wim Taymans 573e032cc1 man: update man build 2017-06-16 17:31:40 +02:00
Wim Taymans ab9b3ba85a docs: update 2017-06-16 16:25:19 +02:00
Wim Taymans e7327d1316 Add doxygen docs 2017-05-30 19:46:51 +02:00
Wim Taymans 83964cec87 pinos -> pipewire 2017-05-23 19:15:33 +02:00
Linus Svensson 740125a12e meson.build: Install conf file under ${sysconfdir}
Base conf file path on sysconfdir. sysconfdir can be specified with an
absolute or relative path. To ensure PINOS_CONFIG_DIR is set correctly,
use join_paths() to prepend prefix when sysconfdir is relative.

Meson added support for sysconfdir in version 0.34.0 and join_paths() in
version 0.36.0.
2017-05-16 09:13:36 +02:00
Linus Svensson 2011023da7 meson.build: Include API version in module directory 2017-05-16 09:11:03 +02:00
Linus Svensson 1079d433ef meson.build: No need for PLUGINDIR 2017-05-16 09:06:07 +02:00
Jonas Ådahl 1d8504565a build: Fix API version usage
It was sometimes assumed to be 0.1, sometimes 1.0, and sometimes not to
be used at all. This commit makes things consistent and so that it is
possible to link externally.
2017-05-11 11:41:17 +02:00
Wim Taymans 3dada4731c rename signal -> sig
Meson puts the directory of the source file in the include path and then
it picks up our signal.h instead of the system one...
2016-11-28 16:24:10 +01:00
Wim Taymans 7ecfc28d0f use plain libdbus instead of GDBus 2016-11-24 18:17:29 +01:00
Wim Taymans 4e94743906 Use pinos loop for mainloop
Remove more glib stuff
2016-11-24 17:40:26 +01:00
Wim Taymans 67dd3adb87 port to meson 2016-09-26 12:15:52 +02:00