Wim Taymans
74ab04af26
client-node: use BUFFER_INIT to reset io_buffers
2020-04-02 15:31:58 +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
a86f70c13d
protocol-native: avoid destroying NULL source
...
The source might have been destroyed before.
2020-04-02 15:25:13 +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
7a29c15628
enable more warnings
...
Fix some warnings
2020-04-01 12:51:42 +02:00
Wim Taymans
b3bddb853f
context: improve debug of quantum
2020-03-31 13:54:11 +02:00
Gleb Popov
b552863ec9
Don't include alloca.h on FreeBSD.
2020-03-31 12:16:45 +02:00
Wim Taymans
afb93eb6ea
conf: add comment
2020-03-30 15:27:54 +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
George Kiagiadakis
e00c0ffd2d
tests: add endpoint unit test
...
This tests exporting a PW_TYPE_INTERFACE_Endpoint and binding
a proxy for it through the registry, verifying that info and params
are propagated properly from one to the other
2020-03-27 14:56:07 +00:00
George Kiagiadakis
e918d60959
session-manager: implement factories for session, endpoint-stream & endpoint-link
...
Heavily based on the endpoint factory
2020-03-27 14:56:07 +00:00
George Kiagiadakis
444d180218
session-manager: endpoint: implement caching info & params
...
The info structure needs to be cached because there is no way to
request it from the implementation, unless we hack the add_listener
API to be used for making info requests or add a new method that
will be used just in the implementation (both are bad ideas).
The params are cached because
1) a client doing enum_params + sync will not work correctly, since
the sync call syncs with the server and not the implementation...
we could block the client to solve that, but then there is also #2
2) the implementation is not aware of the clients and therefore
it cannot keep track of who is subscribed and who is not, this
needs to happen in the server. Then if we only keep track of the
subscriptions in the server and keep requesting params from the
impl, there is no way to know if a param event coming from the
impl matches a call to enum_params or to subscribe or if it's
just an update that needs to be forwarded to subscribers.
2020-03-27 14:56:07 +00:00
George Kiagiadakis
74718d6def
session-manager: add update/free functions for the info structures
2020-03-27 14:56:07 +00:00
George Kiagiadakis
df66edd9ab
session-manager: implement 'endpoint' factory
...
This is modeled after the 'metadata' factory and provides
a way to use the pw_endpoint interface directly to implement
an endpoint object in a client.
2020-03-27 14:56:07 +00:00
George Kiagiadakis
0a8ec0380b
session-manager: check error code when registering the marshallers
2020-03-27 14:56:07 +00:00
George Kiagiadakis
e971a79fce
session-manager: implement export functions for session-manager objects
2020-03-27 14:56:07 +00:00
George Kiagiadakis
234c642746
session-manager: move files into client-endpoint / client-session subdirs
...
To clean up space for the new implementation.
The existing code is exclusively for use with the client-endpoint
and client-session factories.
2020-03-27 14:56:07 +00:00
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