Wim Taymans
ffaa365bef
Add evl system support
...
Add system functions that can execute on the evenless Real-Time
subsystem. https://evlproject.org/
Enable this plugin as the system library for the data thread and
all poll/timerfd/eventfd will execute on the evl subsystem.
2019-06-24 09:42:05 +02:00
Wim Taymans
9934e62fe4
don't use error()
2019-06-21 16:14:36 +02:00
Wim Taymans
6720ded529
names: add standard factory name definitions
...
Define a set of standard factory names and document what they
contain. This makes it possible to change the implementation by
mapping the factory-name to a different shared library.
2019-06-21 13:31:34 +02:00
Wim Taymans
4494f9c7c9
log: use temporary log first
...
Use the default log implementation as a default log until a more
complete one is installed. This way we get log early.
2019-06-21 13:29:52 +02:00
Wim Taymans
5b7e95c71c
system: make system functions return error on error
...
Return -errno from system functions instead of -1 in errors. This
makes it easier to pass along the result without having to go to
errno etc..
2019-06-20 17:31:29 +02:00
Wim Taymans
03eeb945f3
daemon: add support for properties in the config file
...
Make a set-prop command to set a property from the config file
into a pw_properties. Pass this to the pw_core_new() and the
main-loop to tweak some stuff.
Move some warns to errors
2019-06-20 15:19:28 +02:00
Wim Taymans
85caf0b485
command: move command to the daemon
2019-06-20 11:09:58 +02:00
Wim Taymans
a212d2f9ed
improve error handling some more
2019-06-20 11:04:34 +02:00
Wim Taymans
d1241e2c1c
improve error handling
...
Make sure we free properties we take ownership of.
Add some more return values to functions that can fail.
2019-06-19 18:15:04 +02:00
Wim Taymans
00ea15dc1f
improve error handling
2019-06-19 16:22:22 +02:00
Wim Taymans
c4f35825fe
protocol: improve error handling
2019-06-19 11:06:10 +02:00
Wim Taymans
216b641ebb
connection: add do_close flag to connect_fd
...
Make pw_remote_connect_fd() not automatically close the provided
fd but let the caller take care of that. This allows us to reuse
the fd in pipewiresrc.
Fixes #155
2019-06-19 11:05:58 +02:00
Wim Taymans
5850044599
improve error handling
2019-06-18 16:55:37 +02:00
Wim Taymans
c30d938034
core: improve cleanup
2019-06-07 17:51:07 +02:00
Wim Taymans
b2992a0f8a
improve error handling
2019-06-07 17:50:46 +02:00
Wim Taymans
8cda0dd962
test: clear resample struct before use
2019-06-07 17:25:28 +02:00
Wim Taymans
497a8364c5
printf format fixes
2019-06-07 17:16:02 +02:00
Wim Taymans
d46c239ab0
some printf fixes
2019-06-07 16:37:08 +02:00
Wim Taymans
a9808a3edb
thread-loop: set error correctly
2019-06-07 13:39:25 +02:00
Wim Taymans
c6c9e6a8b3
core: add method to load spa_handle
...
Add a method that loads a spa handle based on the currently configured
libraries in the core. Remove duplicate code.
2019-06-07 10:12:44 +02:00
Wim Taymans
504d78cd18
improve error handling
...
Set errno for functions returning NULL if relevant.
Propagate errno and result codes better.
Handle more error cases.
2019-06-07 10:11:23 +02:00
Wim Taymans
0a5bce4a3b
bluez5: expose factories in the plugin
2019-06-07 09:19:40 +02:00
Wim Taymans
f205504c26
test-core: add more core support tests
2019-06-06 16:40:15 +02:00
Wim Taymans
db88e9f954
System: More work on making system functions pluggable
...
Move the epoll functions to the system functions and make the loop
use those. Use simple mask for events instead of enum.
Add the used system api in pw_loop.
Add System API to spa_support and use it where possible.
Pass the system API used in the realtime loops in spa_support as
well and use this in the realtime paths.
Improve bootstrapping, load only the log and cpu interfaces because
those can/need to be shared between instances. Let the core load
the other interfaces.
Add keys to configure the System and Loop implementations used in
pw_loop.
2019-06-06 15:31:53 +02:00
Wim Taymans
86dc0496a5
simply use INTERFACE_Loop for the main-loop
2019-06-06 15:20:43 +02:00
Wim Taymans
4c2b6c7c91
log: add log level option
2019-06-06 15:12:59 +02:00
Wim Taymans
3f5c75c52d
cpu: add CPU_FORCE option to cpu interface
2019-06-06 15:11:37 +02:00
Wim Taymans
92d7da0103
daemon: only use properties on core
2019-06-06 15:05:37 +02:00
Wim Taymans
f5192d533f
system: pass right flag
2019-06-04 17:43:52 +02:00
Wim Taymans
81c7dd4433
support: abstract some system functions
...
Make a new API to hide some the implementation of eventfd, timerfd
and signalfd along with clock and read/write/ioctl/close functions.
We would like to have plugins use the abstractions so that we
can switch them to something else when needed.
2019-06-04 17:07:34 +02:00
Wim Taymans
98602f0343
alsa-monitor: make valid device path
2019-06-03 17:15:44 +02:00
Wim Taymans
49ef8f9b5f
spa: add keys for properties
...
Define and document property keys
2019-06-03 16:48:01 +02:00
Wim Taymans
1f250046a3
plugins: fix compilation of optional plugins
2019-06-03 16:08:42 +02:00
Wim Taymans
009a33668b
make property for monitors
2019-05-31 16:47:37 +02:00
Wim Taymans
a672a9ee67
modules: add usage to factories
...
Improve audio-dsp properties
Fix some keys
2019-05-31 16:41:07 +02:00
Wim Taymans
d4def56bcb
spa: don't pass library around
...
Don't pass the library in the methods, we use the factory_name to
find the object. Make it possible to override the default library
with a property.
2019-05-31 16:06:14 +02:00
Wim Taymans
1d1f035e78
monitor: return factory_name in the object_info
...
Pass a factory_name in the object_info of monitor and device.
Restructure the factory name to mean something functionaly. With
the factory to library mapping this then means that the implementation
of certain factories can be configured in the config file.
2019-05-31 15:06:44 +02:00
Wim Taymans
89a86db0c4
command: add add-spa-lib command
...
Add a command to add a factory name regex to library mapping.
2019-05-31 15:03:56 +02:00
Wim Taymans
b9d9042695
core: add method to add and find spa factory libraries
...
Make a method to add a mapping between a factory name regex
and the library it is in.
Add a method to find the library for a given factory name.
2019-05-31 14:58:59 +02:00
Wim Taymans
80488dba4a
daemon-config: actually use the stripped line
2019-05-31 13:21:17 +02:00
George Kiagiadakis
423f7ed858
travis: run make install and check for headers that have not been installed
2019-05-31 09:51:30 +02:00
George Kiagiadakis
9d48021af1
travis: fix runing autogen.sh after changes to detect meson
...
On the CI docker image, there is no "which" command,
so meson cannot be detected.
2019-05-31 09:51:13 +02:00
Wim Taymans
acd797d780
add device.api property
2019-05-30 16:59:30 +02:00
Wim Taymans
d45569ce9e
spa-inspect: zero listener to clear callback
2019-05-30 16:59:02 +02:00
Wim Taymans
de51046fd5
example: add example external bluez devices
...
Add an example for how to monitor devices, and make nodes that
can be used to stream bluetooth out of the daemon process.
2019-05-30 16:12:34 +02:00
Wim Taymans
e1cbdaed0b
remote: add option for extra user data for proxy
...
When doing an export, make it possible to add extra data to the
resulting proxy for user data.
2019-05-30 16:11:31 +02:00
Wim Taymans
11393ce9dd
bluez: add api to properties
2019-05-30 16:09:56 +02:00
Wim Taymans
c8cbb7e322
bluez5: improve debug
2019-05-30 13:01:15 +02:00
Wim Taymans
9785d99821
monitor: Remove monitor event
...
Remove the monitor event and emit events with structures like we do
for the devices.
2019-05-30 12:51:12 +02:00
Wim Taymans
3780bd1b30
spa: use core to load spa_handle
2019-05-29 17:53:25 +02:00