Commit graph

596 commits

Author SHA1 Message Date
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
33cd2495b8 examples: add signal handler for clean exit 2020-06-04 10:10:08 +02:00
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