Commit graph

2202 commits

Author SHA1 Message Date
George Kiagiadakis
1eec6c3588 session-manager: do not copy stream link params if they are NULL
this field is actually unused at the moment, so it's always NULL
2020-06-01 16:25:40 +00:00
Wim Taymans
6aeaebe2b0 mem: Clean up stray mappings
Warn when some mappings were not freed when freeing all the blocks
and memmaps. Clean them anyway to avoid leaks.
2020-06-01 18:18:13 +02:00
Wim Taymans
4796673581 mem: Improve search for existing mapping
When we search for an exaisting mapping, anything that contains
the offset+size range is ok, not just the larger mmapped area.

This fixes a leak where the imported block mapping was not used
and leaked.
2020-06-01 18:16:13 +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
fbaa4ddedd stream: allow NULL param and 0 buffers in disconnect
When we are disconnecting, cleanup code might clear the params
and buffers, make sure we allow this to happen and the call the
right callbacks.
2020-06-01 15:36:09 +02:00
Wim Taymans
bf483242eb alsa-monitor: don't use NULL device reserve 2020-05-28 18:03:27 +02:00
Wim Taymans
871bb47eb7 gst: handle pause/resume 2020-05-21 12:26:39 +02:00
Wim Taymans
6eba010d38 gst: do a sync before disconnect
This makes sure we first nicely remove the stream from the server
and then close the socket.

If we don't do this, the disconnect might not have flushed out our
disconnect and the server is left with a non-responsive node,
especially if the disconnect on the core was done with a socket from
the portal that is still open.
2020-05-21 12:26:37 +02:00
Wim Taymans
48dea3d5ea gst: handle stream create error 2020-05-21 12:26:32 +02:00
Wim Taymans
60742d7542 pw-cli: allocate nodes ids of the right size 2020-05-20 15:24:25 +02:00
Wim Taymans
08ffc507c0 midifile: fix CLAMP range of minor/mayor keys 2020-05-20 15:24:25 +02:00
Wim Taymans
6a689b3c7f client-node: don't ref destroyed resource
Ownership of the node_resource is taken by _new() and freed.
Don't try to use it afterwards to send an error when something
goes wrong but use the original resource.
2020-05-20 15:24:25 +02:00
Wim Taymans
963b00b77b adapter: return an error when we can't find a format 2020-05-20 15:24:25 +02:00
Wim Taymans
d31c057b42 Remove some useless checks 2020-05-20 15:24:25 +02:00
Wim Taymans
8123e271ec make sure we call va_end in all cases 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
8669fd03a6 initialize variables better 2020-05-20 15:24:25 +02:00
Wim Taymans
ce98162ed2 Make sure we don't read too much 2020-05-20 15:24:25 +02:00
Wim Taymans
236ebeeb68 gst: fix bad unlock when pool acquire fails
The mutexs was not locked so don't try to unlock.
2020-05-20 15:24:25 +02:00
Wim Taymans
78aaf6c0bc gst: only pop and adjust choice when we pushed something 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
ff4a314022 use fstat when we can
This avoids having things change between the stat and open.
2020-05-20 15:24:25 +02:00
Wim Taymans
459acda619 client-node: use spa_system functions 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
a898f21c87 improve debug
When we fail to read the eventfd, don't try to use the value.
2020-05-20 15:24:25 +02:00
Wim Taymans
9e6a047788 portal: add portal module again
Add this again for now until we can integrate this into the
session manager somehow.
2020-05-18 16:30:09 +02:00
Wim Taymans
0bb3de0dca context: clean up permission check 2020-05-18 13:31:00 +02:00
Wim Taymans
2fe9c37f11 core: add some more debug 2020-05-18 12:38:11 +02:00
George Kiagiadakis
5aea6252b4 log: don't re-initialize the log level in pw_init()
This allows setting the log level without setting PIPEWIRE_DEBUG
prior to pw_init(). Setting it after is also possible, but we
get to miss some messages that are printed from pw_init()
2020-05-14 16:54:53 +03:00
Wim Taymans
f06a884f29 mididump: dump offset 2020-05-13 15:55:31 +02:00
Wim Taymans
b4112968cf log: handle logging of NULL object 2020-05-13 15:41:43 +02:00
Wim Taymans
fdb3985f1a client-node: handle NULL port
Don't try to remove an already removed port.
2020-05-12 10:12:28 +02:00
Wim Taymans
653ae96b20 pipewiresrc: set corrupted flag
See #72
2020-05-09 19:46:14 +02:00
Wim Taymans
729343f59b impl-link: don't use NEAREST flag until we support it 2020-05-08 17:53:20 +02:00
Wim Taymans
955e1a6a18 impl-link: debug all kinds of negotiation errors 2020-05-08 17:37:02 +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
34da9015b9 proxy: _remove keeps the proxy alive when not destroyed
When we get a remove, increment the refcount only when the proxy
has not yet been destroyed.
2020-05-08 16:46:31 +02:00
Wim Taymans
181ca167e7 media-session: make sure to only remove hooks once 2020-05-08 16:18:38 +02:00
Wim Taymans
cfce048528 adapter: pass error to factory 2020-05-08 16:18:10 +02:00
Wim Taymans
b53cc6feb8 improve debug
Log device name and stream direction
Don't log xrun errors in alsa, we signal the xrun signal, which should
take care of logging if any.
Log quantum in xrun.
ratelimit xrun messages.
2020-05-08 12:13:59 +02:00
Wim Taymans
be8263208d log: add option to set log before pw_init()
Make it possible to call pw_log_set() before pw_init() so that it's
used for everything.
2020-05-08 11:00:48 +02:00
Wim Taymans
13fd6be747 media-session: only subscribe to readable params 2020-05-07 20:58:53 +02:00
Wim Taymans
6203fb967c log: make line==0 suppress the file/line/func output
Disable file/line/func output for pod debug
2020-05-07 20:42:52 +02:00
Wim Taymans
79fd4c941f debug: Don't debug EBUSY params
When a device returned EBUSY when enumerating params, don't try to
enumerate (and fail) them again.
2020-05-07 17:15:46 +02:00
Wim Taymans
f02c339645 Improve debug
Dump enum_params of failed format and buffer negotiation to error log.
2020-05-07 17:15:43 +02:00
Wim Taymans
97c8e674ac command: add log.level property
Support setting the log level from the config file.
2020-05-07 17:15:39 +02:00
Wim Taymans
3712ebc434 proxy: fix cleanup
Keep track if the proxy is still in the core object map or not
and make sure to only delete it once.

In _remove, just remove the item from the object map if the proxy
is destroyed. There is no need to call _proxy_destroy again (and
do the extra unref)
2020-05-07 17:09:07 +02:00
Wim Taymans
2c13b3ecd2 client-node-v0: return -ENOENT when parameter not found 2020-05-07 10:42:19 +02:00
Wim Taymans
55d75fb075 tools: add pw-metadata tool
Add tool to inspect, monitor, set and delete metadata keys.
2020-05-06 15:57:12 +02:00
Wim Taymans
649448fb5f array: add and use pw_array_consume 2020-05-06 15:56:31 +02:00