Commit graph

3341 commits

Author SHA1 Message Date
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
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
d6b1342bab meson: always build pw-mididump 2020-05-06 12:31:18 +02:00
Wim Taymans
28d47c79f0 link: also recalculate graph when a prepared link is destroyed 2020-05-06 11:37:44 +02:00
Michael Tretter
52c14e2378 gst: keep track of queued buffers
Pipewire might update buffers that have not been recycled by GStreamer,
because they are still used downstream. There is nothing we can do about
it in the pipewiresrc.

If a buffer is sent downstream more than once, take an additional
reference to make sure that we don't queue a buffer that is still used
and print a warning.
2020-05-05 13:53:02 +00:00
George Kiagiadakis
283d7f6e9b session-manager: fix typo in key 2020-05-05 10:07:44 +03:00
Wim Taymans
4e9fd6633b node: rate-limit the graph warnings 2020-05-04 16:49:32 +02:00
Wim Taymans
9049f1fdbb spa-node: don't warn on properties
When the node does not support enum_params or when the Props param
is not supported, suppress the warning.
2020-05-04 13:02:30 +02:00
Wim Taymans
8fe5b58686 pw-mididump: add getopt 2020-05-03 20:48:42 +02:00
Wim Taymans
6d5563a978 tools: add tool to dump midi messages 2020-05-03 11:51:51 +02:00
Wim Taymans
22cc1f903f stream: clean up enum_params 2020-05-03 11:43:56 +02:00
Wim Taymans
2efa3f00ac return -ENOENT when param doesn't exist 2020-05-03 10:13:50 +02:00