Commit graph

1974 commits

Author SHA1 Message Date
George Kiagiadakis
bc3a92e950 session-manager: add impl marshallers for endpoint, -stream, -link and session 2020-03-27 14:56:07 +00:00
Wim Taymans
b3d0aa6f8c pw-cat: allow latency=none 2020-03-26 11:34:59 +01:00
Wim Taymans
125f1f109c context: allow quantum up to configured max
Clip the quantum values between absolute min and max.
If a client selected a quantum, allow this to exceed the default
quantum up to the max-quantum.
If a client doesn't select a quantum, use the default.
2020-03-26 11:27:36 +01:00
Wim Taymans
7693834a81 pw-profiler: report error when we can't bind 2020-03-26 10:24:14 +01:00
Wim Taymans
413bda908a pw-cli: continue after parsed options 2020-03-25 18:00:50 +01:00
Wim Taymans
c292a6d54e pw-cli: add non-interactive mode
You can now pass a command to pw-cli and it will execute immediately
and exit.

Fixes #195
2020-03-25 11:17:02 +01:00
Wim Taymans
646088b90c tools: add getopt argument parsing
Add some help, version, remote options for tools
Add option for output filename in pw-profiler
Add option to start pw-cli as daemon or not, make it connect to the
default PipeWire instance by default (instead of local instance)
2020-03-24 16:36:48 +01: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
67eb89689d stream: only warn about mlock when in RT mode
Only warn about mlock failure when the stream is configured to
operate in REALTIME mode.
2020-03-20 11:21:44 +01:00
Wim Taymans
0d3aa1fd30 Fix export type prototype
Pass the type as provided by the export type. This way we can
look up the owner of the export type later.
2020-03-19 18:12:07 +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
acccccd2c0 Use SPA_IO_BUFFERS_INIT when we can
We should not have to initialize the state to NEED_DATA, anything
that is not HAVE_DATA is good. Also we need to set the buffer to
INVALID because else it might be recycled.
2020-03-19 13:09:21 +01:00
Wim Taymans
6d673cc77c conf: update defaults 2020-03-18 17:53:46 +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
8a2af908a7 small optimizations
Add some SPA_LIKELY
Enable FASTPATH by default
2020-03-18 15:43:29 +01:00
Wim Taymans
72d70b0f48 Add and fix some more warnings
Fixes #216
2020-03-17 11:37:56 +01:00
Wim Taymans
cb7bfdf98a sprinkly SPA_LIKELY/UNLIKELY around 2020-03-16 12:52:28 +01:00
Wim Taymans
d762d57665 impl-node: the mix output port is always 0 2020-03-16 11:11:35 +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
f94c24af97 buffers: negotiate dataType in buffers
Use the dataType in the Buffers param. It contains a bitmask
of compatible types between ports.
2020-03-09 17:44:42 +01:00
Wim Taymans
c66d60fbdb buffers: handle param enum errors
When filtering parameters, return an error when something went
wrong as opposed to 0. This way we can see if there was an error
or just no parameters.  Fail when there was an error negotiating
the buffer size because that means incompatible values.
2020-03-09 17:04:00 +01:00
Rasmus Thomsen
fba9d8931d module-protocol-native: fix build on s390x 2020-03-09 08:52:16 +00:00
Rasmus Thomsen
cfd829913e meson: add rpath on the modules_install_dir for all modules
Otherwise the dynamic loader won't be able to find libraries in
modules_install_dir we link against

fixes #214
2020-03-09 08:51:49 +00:00
Wim Taymans
1b0ad00fb1 conf: update and document the config file a little 2020-03-06 18:13:13 +01:00
Wim Taymans
e93d235208 command: add -nofail to create-object 2020-03-06 18:08:44 +01:00
Wim Taymans
bb15472e7c context: "none" is a valid profile that loads nothing 2020-03-06 18:07:55 +01:00
Wim Taymans
54eef8bb9d pw-cat: write midi bytes directly. 2020-03-06 16:47:02 +01:00
Wim Taymans
6700e332f9 Revert "pw-cli: Collect and display parameters from global symbols"
This reverts commit 3b53a6e049.
2020-03-06 16:33:50 +01:00
Wim Taymans
524f9fd96d Revert "Implement JSON/YAML command for graph tree traversal"
This reverts commit 7ead270265.
2020-03-06 16:33:36 +01:00
Wim Taymans
8644e80304 Revert "Fix change_mask string generation"
This reverts commit b445bdea27.
2020-03-06 16:33:14 +01:00
Wim Taymans
b7f952e02b Revert "Fix printf attribute compilation errors"
This reverts commit 4175191d19.
2020-03-06 16:30:32 +01:00
Wim Taymans
d880db3933 Revert "pw-cli: use core object to map id to proxy"
This reverts commit 918acd61ef.
2020-03-06 16:30:18 +01:00
Wim Taymans
e9884fcfb5 pw-*: Use user data to track param changes
Use the new param_info user field to track individual param
changes and only notify thos that changed.
2020-03-06 15:41:02 +01:00
Wim Taymans
43601ad722 introspect: use the user flag to count changes
Whenever a param change was found, increment the user counter
of the spa_param_info. We can use this to detect changes in
individial param_info items without having to track them
ourselves.
2020-03-06 15:40:58 +01:00
Wim Taymans
b070752add context: don't load rtkit by default
Don't load and use rt-kit by default because it can cause sigkill in
the app, which is not good when it happens in a compositor.

Make the module profile a comma-separated list of profiles and make
it possible to explicitly load rtkit as well.

load the rtkit profile as well in jack.
2020-03-05 12:12:46 +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
b9916ea5b2 impl-node: don't warn when setting io fails
It's ok to not implement the io_position area. Don't warn when this
happens but always configure the area in the node.
2020-03-03 13:18:36 +01:00
Wim Taymans
913cf29dcd context: always set unassigned node driver to NULL
When a node is unassigned and doesn't need a driver, set the driver
to NULL and the node to IDLE.
2020-03-03 13:04:33 +01:00
Wim Taymans
fd262aa0f2 adapter: add some debug 2020-03-03 13:04:13 +01:00
Wim Taymans
205828a244 daemon: add create-object command
Add a command to create an object from a factory. Add some example
lines in the config file on how to wrap an audiotestsrc in an
adapter with this.
2020-03-03 12:15:49 +01:00
Wim Taymans
11fc529fa0 stream: don't call trigger in dequeue
Dequeue should not ever trigger the start of a cycle.
2020-03-03 11:17:47 +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
3d9f54d8a4 midifile: count channels from 1 to 16 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
fef0e17b76 buffer: document memory type when allocating
When allocating buffers the type will contain a bitmask of
allowed types.
2020-03-02 17:28:07 +01:00
Wim Taymans
c8633767e7 remote-node: map buffer metadata readwrite
Map the buffer metadata in read/write mode. Some metadata might
need to be writable even for input buffers (like ref-count metadata)
2020-03-02 16:51:32 +01:00
Wim Taymans
4c2954b7a9 stream: clear buffer when format is cleared
Setting the format to NULL should clear the buffers.
2020-03-02 16:27:18 +01:00