Wim Taymans
3060c57ba6
examples: add cleanup
2020-06-03 16:51:17 +02:00
Wim Taymans
6b313de2ae
examples: catch signal and clean up
2020-06-03 15:26:54 +02:00
Wim Taymans
8d0913c9d8
examples: add audio DSP source
2020-06-03 12:06:44 +02:00
Wim Taymans
e4e03fa7dd
media-session: always activate DSP nodes
...
They don't need to be activated with a profile.
2020-06-03 12:03:20 +02:00
Wim Taymans
fda9e4d5c8
call _deinit(() in session manager exit
2020-06-02 17:37:45 +02:00
Wim Taymans
34dada9c4c
media-session: install ctrl-C handler
...
..so that we can clean up.
2020-06-01 18:14:53 +02:00
Wim Taymans
bf483242eb
alsa-monitor: don't use NULL device reserve
2020-05-28 18:03:27 +02:00
Wim Taymans
d31c057b42
Remove some useless checks
2020-05-20 15:24:25 +02:00
Wim Taymans
c2028a1695
Fix some leaks in error cases
2020-05-20 15:24:25 +02:00
Wim Taymans
eb93f259e0
avoid some useless assignments
2020-05-20 15:24:25 +02:00
Wim Taymans
a19bab4b16
avoid following NULL pointers
2020-05-20 15:24:25 +02:00
Wim Taymans
d22cb01c6e
alsa-monitor: remove listener after destroy
...
The destroy event will free all the nodes of the device.
2020-05-08 17:08:53 +02:00
Wim Taymans
181ca167e7
media-session: make sure to only remove hooks once
2020-05-08 16:18:38 +02:00
Wim Taymans
13fd6be747
media-session: only subscribe to readable params
2020-05-07 20:58:53 +02:00
Wim Taymans
649448fb5f
array: add and use pw_array_consume
2020-05-06 15:56:31 +02:00
Wim Taymans
720b7b5c6a
metadata: emit removed messages from clear
...
Consume the array until we have removed all subjects.
2020-05-06 15:47:14 +02:00
Wim Taymans
5e99e7da49
alsa-monitor: remove timeout in destroy
2020-04-29 17:12:22 +02:00
Wim Taymans
0380c6d91e
suspend-node: remove idle handler in destroy
...
Or else the idle handler might go off when we are already destroyed.
2020-04-29 16:41:41 +02:00
Wim Taymans
aafd1e7298
improve debug
...
Improve log so that debug level 3 gives a reasonably readable overview
of what is going on.
2020-04-22 12:47:18 +02:00
Wim Taymans
539296069d
jack: implement more metadata API
...
Rework the metadata implementation without pw_properties to make
it easier to delete all subjects and implement the metadata API.
Remove metadata from all objects when they are destroyed.
2020-04-20 15:19:06 +02:00
Wim Taymans
a5b0553328
Fix some -Wenum-conversion errors
...
Make pw_direction and spa_direction the same
Explicitly cast some enums or use the right enums
2020-04-04 20:03:08 +02:00
Wim Taymans
c20100eabb
media-session: Add method to destroy a global
...
Destroy the stream when it is disconnected and it was marked as
DONT_RECONNECT.
2020-04-02 15:27:23 +02:00
Wim Taymans
b87c0a9270
clean up options
...
make sure we can use -v for verbose mode
2020-04-02 14:34:02 +02:00
Wim Taymans
2b7f01f5af
media-session: add getopt support
...
Add options to media-session
Add an option to enable or disable modules
Add an option to set properties for later use
2020-03-30 14:09:44 +02:00
Wim Taymans
4c80656a7b
examples: small improvements
...
Don't set EXCLUSIVE flag on video-play
2020-03-20 11:24:29 +01:00
Wim Taymans
2948d504c8
example: fix v4l2 example
...
We need to emit a port param update to notify of new Buffer
parameters.
2020-03-19 18:08:34 +01:00
Wim Taymans
c4708f97ff
examples: don't use lrintf for each sample
2020-03-18 17:40:26 +01:00
Wim Taymans
13d66df2df
example: fix buffer size calculation
2020-03-18 17:23:14 +01:00
Wim Taymans
e13e81881f
examples: use dataType mask
...
Set the dataType mask to MemFd because that is what we can
produce. Check the negotiated buffer data types.
2020-03-09 18:05:51 +01:00
Wim Taymans
c4b2be2aad
use true and false for boolean properties
...
So that it's easier to convert them to booleans in introspection
code later.
2020-03-03 18:17:46 +01:00
Wim Taymans
b60d7bf2bc
examples: always use last buffers
...
Skip buffers and always use the last buffer in the queue. This
compensates for slow reading clients.
2020-03-03 13:28:21 +01:00
Wim Taymans
2d88970dab
examples: use better Buffer values
2020-03-03 11:17:22 +01:00
Wim Taymans
ce275e5917
small cleanups
2020-03-03 10:25:03 +01:00
Wim Taymans
a3ec0cf49e
examples: improve some debug
2020-03-02 17:28:10 +01:00
Wim Taymans
9cdcd07c02
example: update example
2020-02-22 13:50:20 +01:00
Wim Taymans
d3634aca7e
media-session: rework device reservation
...
Monitor the device reservation objects and mark the device available.
Don't select nodes from devices that are not available.
Acquire the device reservation when a device starts.
Release the device reservation when we suspend the device again.
2020-02-19 18:15:57 +01:00
Wim Taymans
88c6db8a82
policy-node: give more priority to newer video output nodes
...
A slight workaround for old firefox that doesn't specify the target
node, nor the media role when doing screen sharing.
2020-02-06 17:42:52 +01:00
Wim Taymans
b4c76ba78a
policy-node: only set PortConfig when we find a format
2020-01-28 15:38:35 +01:00
Wim Taymans
d2d1647634
media-session: fix cleanup of objects
...
Don't free the proxy twice in some cases.
2020-01-28 15:38:11 +01:00
Wim Taymans
6ac9b7b3a7
spa: add spa_aprintf helper
...
Add a asprintf helper function that handles errors correctly.
Use this in places where we use asprintf to avoid warnings when we
don't check the return value.
2020-01-27 12:19:21 +01:00
Wim Taymans
aee3191bad
examples: don't fail when alsa is not found
...
Avoid building the session-manager when alsa was not found.
2020-01-27 10:46:19 +01:00
Wim Taymans
f792c3f536
fix some segfaults
2020-01-16 16:47:01 +01:00
Wim Taymans
6af00219e1
media-session: avoid some segfaults
2020-01-16 16:19:09 +01:00
Wim Taymans
043e7f24fe
add some more useful defines
...
Add define to match all ids for nodes and params.
Add define for invalid permissions
2020-01-15 11:15:51 +01:00
Wim Taymans
c21c42e943
media-session: pause policy while creating objects
...
While we are creating objects on the monitor connection, pause the
policy connection until we have completed a roundtrip and the global
id is bound to the new object.
This way, when we resume the policy connection, we can always find the
newly created and bound object. Without the pause, it's possible that
we receive the new global on the policy connection before we got the
bind reply on the monitor connection and then we would end up with 2
proxies that are not linked together correctly.
Fixes #204
2020-01-14 16:38:40 +01:00
Wim Taymans
c624ca7591
alsa-monitor: don't crash when dbus connection failed
2020-01-14 10:53:12 +01:00
Wim Taymans
6c8fd3c29d
media-session: instal media session
...
Install the example media-session
Load the media session according to the PATH
Include the example directory in the PATH so we can run the media
session.
2020-01-13 16:27:46 +01:00
Wim Taymans
b99074879f
policy-node: use the daemon samplerate
...
Use the samplerate of the daemon to configure the nodes.
2020-01-09 15:52:53 +01:00
Wim Taymans
852ac043d3
Use the DSP format for dsp formats
...
Use the DSP media subtype to describe DSP formats. DSP formats
don't include the rate, channels and channel position in the
format and must use the rate and duration from the position io. This
makes it possible to later change the samplerate dynamically without
having to renegotiate the graph.
The same goes for the video DSP format, which uses the io_video_size
from the io_position to get the size/stride. Set this up in the node
based on the defaults from the context.
Make it possible to define defaults in the daemon config file, such
as samplerate, quantum, video size and framerate. This is stored in
the context and used for the DSP formats.
2020-01-09 15:18:59 +01:00
Wim Taymans
96d4ec3207
use defined key for factory.name
2020-01-09 09:46:04 +01:00