Wim Taymans
9ce2c6157f
client-node: fix v0 data offset
...
Set the right data offset for v0 clients.
2020-02-11 15:15:20 +01:00
George Kiagiadakis
db734a952d
pkgconfig: require libspa on the libpipewire pkgconfig file
...
pipewire/pipewire.h directly includes spa headers, so libspa
is an implicit dependency that must always be required
2020-02-11 14:01:52 +00:00
Wim Taymans
d52df30c88
pipewireclock: use the monotonic time for now
...
Don't try to use the ticks for the clock but use the monotonic
timestamp instead.
2020-02-11 13:08:04 +01:00
Wim Taymans
b7f249c389
port: fix compilation
2020-02-11 12:14:23 +01:00
Wim Taymans
cd77ceebbc
impl-port: warn and not crash when spa-node has no properties
...
When a spa-node tells us it has updated properties but then gives
us a NULL pointer, emit a warning instead of crashing.
2020-02-11 12:06:59 +01:00
Wim Taymans
293932d4ec
v0: improve compatibility
...
Implement RequestClockUpdate event and ClockUpdate message for
old clients.
2020-02-11 11:23:28 +01:00
Wim Taymans
c12f2276c4
stream: streams are always live for now.
2020-02-11 11:22:52 +01:00
Wim Taymans
7edd3fb054
typemap: fill out more audio formats
2020-02-10 20:46:18 +01:00
Wim Taymans
eab6dda513
protocol-native: improve v0 compatibility
2020-02-10 18:15:24 +01:00
Wim Taymans
651013bfab
Revert "buffers: set stride in buffer data chunks"
...
This reverts commit b3c4eecea7 .
The provider of the buffers should really set the fields in the
chunk such as the offset, size and stride.
2020-02-10 16:55:02 +01:00
Wim Taymans
b3c4eecea7
buffers: set stride in buffer data chunks
...
v2 clients expect the stride to be set, even when the sender doesn't
set it.
2020-02-10 16:29:23 +01:00
Wim Taymans
56c15ca9e8
connection: improve version check
...
do the version check on the v2 update_types request or the v3
hello request.
2020-02-10 16:26:24 +01:00
Wim Taymans
d2e7f75071
resource: destroy old core_resource
...
If there is already a core_resource when we are going to make a new
one, remove the old one. This can happen when there is a version
switch.
2020-02-10 16:22:49 +01:00
Wim Taymans
03844d6c72
rtkit: add parameters for prio and rlimits
...
Make it possible to configure the prio and rlimits on the
rtkit module.
Set the defaults to the max.
2020-02-10 10:43:31 +01:00
Wim Taymans
40db445f3d
rtkit: actually wake up the thread to set rt priority
...
Wake up the eventfd in the data thread to actually request the
realtime priority.
2020-02-08 22:47:18 +01:00
Wim Taymans
087448ff0f
stream: set param id
...
The param id in the object is used to filter on the server so make
sure it is set in the object correctly.
2020-02-08 21:54:24 +01:00
Wim Taymans
ee67ab9c04
client-node: keep target links in list
...
Don't allocate the links in an array because they might be moved
when the array is resized. Instead just use calloc and add them
to a list.
Make sure we update the list used in the real-time thread from a
safe context.
2020-02-07 16:45:58 +01:00
Wim Taymans
a1bb1548e6
tests: msg is undefined when _get_next() return != 1
2020-02-07 15:40:28 +01:00
Wim Taymans
4d143c5751
command: fix load-module arguments
...
Reparse the arguments and pass all the remaining strings after the
module name as one arguments string.
2020-02-07 13:25:19 +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
3aa8e301c5
protocol-native: implement v2 update_permissions
...
Convert the old permission update to new permission events.
2020-02-06 16:57:24 +01:00
Wim Taymans
7a395bccaf
improve v2 compat mode
...
Always send the server types when we got the first client types and
don't rely on the message sequence number.
Add some more types in the typemap.
2020-02-06 16:56:19 +01:00
Wim Taymans
b2dfa83052
pw-cat: print channelmap in verbose mode
2020-02-06 16:50:59 +01:00
Wim Taymans
95ecbacfe0
meson: install headers in versioned paths
...
Make sure all headers and plugins are installed in versioned paths
so that we can parallel install versions if we want.
2020-02-05 16:28:22 +01:00
Wim Taymans
d0f69e44cd
command: add -ifexists option to load-module
...
If the module doesn't exist, the error is ignored.
2020-02-05 13:01:13 +01:00
Wim Taymans
8b6a163233
context: set defaults as properties on the context
2020-02-05 11:50:22 +01:00
Wim Taymans
41b47e726e
context: add some more defaults
...
Make a property to allow mlock and use it.
mlock in stream and filter when asked to mmap mem.
2020-02-04 17:09:41 +01:00
Wim Taymans
dcec3f12b5
remote-node: safely activate and deactivate a link
...
Make sure we execute the admin of the target links in the data
thread.
2020-02-04 16:29:48 +01:00
Wim Taymans
8abbf653e6
pw-cat: Use default channel layout when nothing given
...
Make channel layout definitions a little more useful. We can now
assign them to a layout_info struct or in the raw_info.
Make some default channel layouts for use in pw-cat
2020-02-04 15:54:57 +01:00
Wim Taymans
1cce9a69c8
pw-cat: add channel-map option and option to delay connect
...
If the target node is set to 0, remove the autoconnect flag. This makes
the session manager disable stream autoconnect and some other program
needs to connect the stream to a sink or node.
Use the channelmap from the file, if available.
Add option to specify/override the channel map for playback.
2020-02-04 11:45:45 +01:00
Wim Taymans
f79dfcd77f
profiler: fix method prototype
2020-02-03 16:44:09 +01:00
Wim Taymans
64391f1ed5
profiler: avoid negative times
2020-02-03 13:14:56 +01:00
Wim Taymans
a4a93a2a16
profiler: Improve profiler info
...
Split the profiler info into multiple properties.
Give feedback about time and logged samples while profiling.
2020-02-03 12:33:01 +01:00
Wim Taymans
bdad7d87f9
global: fix comment and use constant for core id
2020-02-03 12:32:17 +01:00
Wim Taymans
ef965dfc23
meson: install profiler extension
2020-01-31 17:59:30 +01:00
Wim Taymans
6f31a16024
pw-profiler: add some more driver measurements
...
Add estimated period
Add reported driver delay
2020-01-31 17:56:00 +01:00
Wim Taymans
8b303361d8
pw-profiler: avoid copying invalid values
2020-01-31 16:31:35 +01:00
Wim Taymans
afdb6586b5
pw-profiler: various improvements
...
Small cleanups.
Print some useful status info.
Fail when there is no Profiler API found.
Only log data from the first driver we find.
2020-01-31 16:03:05 +01:00
Wim Taymans
f7ed9a5ca7
context: clamp default qantum to min and max
...
When min or max is set in the config file, make sure we clamp the
default to it as well.
2020-01-31 15:49:40 +01:00
Wim Taymans
3317af804b
pw-profiler: add profiler tool
...
Add Profiler object and fields.
Add profiler extension API. It notifies Profiler objects with
real-time performance data.
Add module that implements the profiler extension.
Add pw-profiler tool that binds to the profiler API and dumps the
data into a log file, gnuplot files, a html page and a script to
generate svg graphs. This is almost the same as what JACK2
JackEngineProfiling does.
2020-01-31 15:13:47 +01:00
Wim Taymans
5a47652dc2
node: emit driver start on completion of the graph.
...
This gives better info about the elapsed cycle.
2020-01-31 13:38:46 +01:00
Wim Taymans
43257e8676
graph: make pending/required fields signed
...
So that we can check for negative value.
Also don't signal incomplete graph when we signaled more than
expected, this can happen when we add new nodes in the current
cycle and then triggered the driver.
2020-01-31 13:36:44 +01:00
Wim Taymans
cd21f5292b
context: emit events for driver
...
Make new private events to monitor the state of driver nodes. This
can be used to implement profiling.
2020-01-30 17:21:33 +01:00
Wim Taymans
9f0c5d403e
node: collect sync_timeout and use smallest
...
Collect all sync_timeout values from the clients and use the
smallest one as the timeout.
2020-01-30 11:48:24 +01:00
Wim Taymans
7450bfd88b
Improve mlock failure warning message
2020-01-29 11:07:26 +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
Fabrice Fontaine
281e61735b
properties.h: include stdarg.h
...
Include stdarg.h to avoid a build failure on uclibc due to va_list
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-01-28 15:10:41 +01:00
Wim Taymans
ed13cd2ec8
pw-cli: improve help
2020-01-28 13:04:21 +01:00
Wim Taymans
1c6ce1778b
pw-cli: handle NULL when iterating globals
...
It is possible that the global map contains holes and then the
pw_map item has NULL data.
2020-01-28 12:55:01 +01:00