Wim Taymans
471c1a071c
policy: improve debug
2020-07-03 16:25:28 +02:00
Wim Taymans
82a83afd6b
policy: activate Unknown stream media type
...
And try to link them using the media.type property
2020-07-02 15:39:11 +02:00
Wim Taymans
ed31ca30cd
media-session: improve cleanup of objects
...
Don't try to use the proxy destroy event to destroy the objects.
It is not called automatically anymore, only when we call
pw_proxy_destroy() ourselves.
Destroy the proxy objects when we destroy the session managed
object instead, either when the global is removed or when we
explicitly call _destroy()
Add an object free signal to clean up final resources after the
proxies have been destroyed, like closing libraries.
Track and destroy our link proxies.
2020-06-04 17:41:01 +02:00
Wim Taymans
704d504a44
media-session: mark enabled modules with *
2020-06-04 10:51:03 +02:00
Wim Taymans
0b47b47b6c
libcamera: disable by default
...
Until it is at least more comon available in distros.
2020-06-04 10:50:54 +02:00
raghu447
39974903df
Rebasing
2020-06-04 10:36:39 +02:00
raghu447
d93870fdeb
Removed redundant logs
2020-06-04 10:36:39 +02:00
raghu447
af263187ea
Reverting redundant changes
2020-06-04 10:36:39 +02:00
raghu447
9024cc4444
Integrating libcamera
2020-06-04 10:36:39 +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
ce275e5917
small cleanups
2020-03-03 10:25:03 +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
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
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
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
96d4ec3207
use defined key for factory.name
2020-01-09 09:46:04 +01:00
Wim Taymans
2bca786fff
policy-node: use priority of the nodes
2020-01-08 17:29:11 +01:00
Wim Taymans
92c26fa124
suspend-node: only suspend devices
2020-01-08 15:16:17 +01:00
Wim Taymans
a3ddc6b744
media-session: add module to suspend nodes
2020-01-08 13:24:06 +01:00
Wim Taymans
ffbb74c4af
policy-node: implement video nodes
...
Always activate video nodes right away
Implement exclusive access again
2020-01-08 10:48:48 +01:00
Wim Taymans
b312e77385
Make simple node policy
...
Make it possible to run the session manager without endpoint
modules. Add a simple node policy that links nodes.
Move the session-manager implementation and startup of the
endpoint monitors to a separate module.
Handle async set_param on the device
2020-01-07 17:19:09 +01:00
Wim Taymans
3b05896cd6
bluez5: cleanups
...
Use export_device
2020-01-03 13:02:59 +01:00
Wim Taymans
df519ee3b3
avoid including private.h
...
Expose some more methods to make it possible to build without
including the private.h header, especially in modules.
2020-01-02 13:48:50 +01:00
Wim Taymans
437b97f160
media-session: cleanup some objects
2019-12-19 15:31:55 +01:00